jquery.combobox.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  1. /**
  2. * EasyUI for jQuery 1.6.10
  3. *
  4. * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. function _1(_2,_3){
  12. var _4=$.data(_2,"combobox");
  13. return $.easyui.indexOfArray(_4.data,_4.options.valueField,_3);
  14. };
  15. function _5(_6,_7){
  16. var _8=$.data(_6,"combobox").options;
  17. var _9=$(_6).combo("panel");
  18. var _a=_8.finder.getEl(_6,_7);
  19. if(_a.length){
  20. if(_a.position().top<=0){
  21. var h=_9.scrollTop()+_a.position().top;
  22. _9.scrollTop(h);
  23. }else{
  24. if(_a.position().top+_a.outerHeight()>_9.height()){
  25. var h=_9.scrollTop()+_a.position().top+_a.outerHeight()-_9.height();
  26. _9.scrollTop(h);
  27. }
  28. }
  29. }
  30. _9.triggerHandler("scroll");
  31. };
  32. function _b(_c,_d){
  33. var _e=$.data(_c,"combobox").options;
  34. var _f=$(_c).combobox("panel");
  35. var _10=_f.children("div.combobox-item-hover");
  36. if(!_10.length){
  37. _10=_f.children("div.combobox-item-selected");
  38. }
  39. _10.removeClass("combobox-item-hover");
  40. var _11="div.combobox-item:visible:not(.combobox-item-disabled):first";
  41. var _12="div.combobox-item:visible:not(.combobox-item-disabled):last";
  42. if(!_10.length){
  43. _10=_f.children(_d=="next"?_11:_12);
  44. }else{
  45. if(_d=="next"){
  46. _10=_10.nextAll(_11);
  47. if(!_10.length){
  48. _10=_f.children(_11);
  49. }
  50. }else{
  51. _10=_10.prevAll(_11);
  52. if(!_10.length){
  53. _10=_f.children(_12);
  54. }
  55. }
  56. }
  57. if(_10.length){
  58. _10.addClass("combobox-item-hover");
  59. var row=_e.finder.getRow(_c,_10);
  60. if(row){
  61. $(_c).combobox("scrollTo",row[_e.valueField]);
  62. if(_e.selectOnNavigation){
  63. _13(_c,row[_e.valueField]);
  64. }
  65. }
  66. }
  67. };
  68. function _13(_14,_15,_16){
  69. var _17=$.data(_14,"combobox").options;
  70. var _18=$(_14).combo("getValues");
  71. if($.inArray(_15+"",_18)==-1){
  72. if(_17.multiple){
  73. _18.push(_15);
  74. }else{
  75. _18=[_15];
  76. }
  77. _19(_14,_18,_16);
  78. }
  79. };
  80. function _1a(_1b,_1c){
  81. var _1d=$.data(_1b,"combobox").options;
  82. var _1e=$(_1b).combo("getValues");
  83. var _1f=$.inArray(_1c+"",_1e);
  84. if(_1f>=0){
  85. _1e.splice(_1f,1);
  86. _19(_1b,_1e);
  87. }
  88. };
  89. function _19(_20,_21,_22){
  90. var _23=$.data(_20,"combobox").options;
  91. var _24=$(_20).combo("panel");
  92. if(!$.isArray(_21)){
  93. _21=_21.split(_23.separator);
  94. }
  95. if(!_23.multiple){
  96. _21=_21.length?[_21[0]]:[""];
  97. }
  98. var _25=$(_20).combo("getValues");
  99. if(_24.is(":visible")){
  100. _24.find(".combobox-item-selected").each(function(){
  101. var row=_23.finder.getRow(_20,$(this));
  102. if(row){
  103. if($.easyui.indexOfArray(_25,row[_23.valueField])==-1){
  104. $(this).removeClass("combobox-item-selected");
  105. }
  106. }
  107. });
  108. }
  109. $.map(_25,function(v){
  110. if($.easyui.indexOfArray(_21,v)==-1){
  111. var el=_23.finder.getEl(_20,v);
  112. if(el.hasClass("combobox-item-selected")){
  113. el.removeClass("combobox-item-selected");
  114. _23.onUnselect.call(_20,_23.finder.getRow(_20,v));
  115. }
  116. }
  117. });
  118. var _26=null;
  119. var vv=[],ss=[];
  120. for(var i=0;i<_21.length;i++){
  121. var v=_21[i];
  122. var s=v;
  123. var row=_23.finder.getRow(_20,v);
  124. if(row){
  125. s=row[_23.textField];
  126. _26=row;
  127. var el=_23.finder.getEl(_20,v);
  128. if(!el.hasClass("combobox-item-selected")){
  129. el.addClass("combobox-item-selected");
  130. _23.onSelect.call(_20,row);
  131. }
  132. }else{
  133. s=_27(v,_23.mappingRows)||v;
  134. }
  135. vv.push(v);
  136. ss.push(s);
  137. }
  138. if(!_22){
  139. $(_20).combo("setText",ss.join(_23.separator));
  140. }
  141. if(_23.showItemIcon){
  142. var tb=$(_20).combobox("textbox");
  143. tb.removeClass("textbox-bgicon "+_23.textboxIconCls);
  144. if(_26&&_26.iconCls){
  145. tb.addClass("textbox-bgicon "+_26.iconCls);
  146. _23.textboxIconCls=_26.iconCls;
  147. }
  148. }
  149. $(_20).combo("setValues",vv);
  150. _24.triggerHandler("scroll");
  151. function _27(_28,a){
  152. var _29=$.easyui.getArrayItem(a,_23.valueField,_28);
  153. return _29?_29[_23.textField]:undefined;
  154. };
  155. };
  156. function _2a(_2b,_2c,_2d){
  157. var _2e=$.data(_2b,"combobox");
  158. var _2f=_2e.options;
  159. _2e.data=_2f.loadFilter.call(_2b,_2c);
  160. _2f.view.render.call(_2f.view,_2b,$(_2b).combo("panel"),_2e.data);
  161. var vv=$(_2b).combobox("getValues");
  162. $.easyui.forEach(_2e.data,false,function(row){
  163. if(row["selected"]){
  164. $.easyui.addArrayItem(vv,row[_2f.valueField]+"");
  165. }
  166. });
  167. if(_2f.multiple){
  168. _19(_2b,vv,_2d);
  169. }else{
  170. _19(_2b,vv.length?[vv[vv.length-1]]:[],_2d);
  171. }
  172. _2f.onLoadSuccess.call(_2b,_2c);
  173. };
  174. function _30(_31,url,_32,_33){
  175. var _34=$.data(_31,"combobox").options;
  176. if(url){
  177. _34.url=url;
  178. }
  179. _32=$.extend({},_34.queryParams,_32||{});
  180. if(_34.onBeforeLoad.call(_31,_32)==false){
  181. return;
  182. }
  183. _34.loader.call(_31,_32,function(_35){
  184. _2a(_31,_35,_33);
  185. },function(){
  186. _34.onLoadError.apply(this,arguments);
  187. });
  188. };
  189. function _36(_37,q){
  190. var _38=$.data(_37,"combobox");
  191. var _39=_38.options;
  192. var _3a=$();
  193. var qq=_39.multiple?q.split(_39.separator):[q];
  194. if(_39.mode=="remote"){
  195. _3b(qq);
  196. _30(_37,null,{q:q},true);
  197. }else{
  198. var _3c=$(_37).combo("panel");
  199. _3c.find(".combobox-item-hover").removeClass("combobox-item-hover");
  200. _3c.find(".combobox-item,.combobox-group").hide();
  201. var _3d=_38.data;
  202. var vv=[];
  203. $.map(qq,function(q){
  204. q=$.trim(q);
  205. var _3e=q;
  206. var _3f=undefined;
  207. _3a=$();
  208. for(var i=0;i<_3d.length;i++){
  209. var row=_3d[i];
  210. if(_39.filter.call(_37,q,row)){
  211. var v=row[_39.valueField];
  212. var s=row[_39.textField];
  213. var g=row[_39.groupField];
  214. var _40=_39.finder.getEl(_37,v).show();
  215. if(s.toLowerCase()==q.toLowerCase()){
  216. _3e=v;
  217. if(_39.reversed){
  218. _3a=_40;
  219. }else{
  220. _13(_37,v,true);
  221. }
  222. }
  223. if(_39.groupField&&_3f!=g){
  224. _39.finder.getGroupEl(_37,g).show();
  225. _3f=g;
  226. }
  227. }
  228. }
  229. vv.push(_3e);
  230. });
  231. _3b(vv);
  232. }
  233. function _3b(vv){
  234. if(_39.reversed){
  235. _3a.addClass("combobox-item-hover");
  236. }else{
  237. _19(_37,_39.multiple?(q?vv:[]):vv,true);
  238. }
  239. };
  240. };
  241. function _41(_42){
  242. var t=$(_42);
  243. var _43=t.combobox("options");
  244. var _44=t.combobox("panel");
  245. var _45=_44.children("div.combobox-item-hover");
  246. if(_45.length){
  247. _45.removeClass("combobox-item-hover");
  248. var row=_43.finder.getRow(_42,_45);
  249. var _46=row[_43.valueField];
  250. if(_43.multiple){
  251. if(_45.hasClass("combobox-item-selected")){
  252. t.combobox("unselect",_46);
  253. }else{
  254. t.combobox("select",_46);
  255. }
  256. }else{
  257. t.combobox("select",_46);
  258. }
  259. }
  260. var vv=[];
  261. $.map(t.combobox("getValues"),function(v){
  262. if(_1(_42,v)>=0){
  263. vv.push(v);
  264. }
  265. });
  266. t.combobox("setValues",vv);
  267. if(!_43.multiple){
  268. t.combobox("hidePanel");
  269. }
  270. };
  271. function _47(_48){
  272. var _49=$.data(_48,"combobox");
  273. var _4a=_49.options;
  274. $(_48).addClass("combobox-f");
  275. $(_48).combo($.extend({},_4a,{onShowPanel:function(){
  276. $(this).combo("panel").find("div.combobox-item:hidden,div.combobox-group:hidden").show();
  277. _19(this,$(this).combobox("getValues"),true);
  278. $(this).combobox("scrollTo",$(this).combobox("getValue"));
  279. _4a.onShowPanel.call(this);
  280. }}));
  281. };
  282. function _4b(e){
  283. $(this).children("div.combobox-item-hover").removeClass("combobox-item-hover");
  284. var _4c=$(e.target).closest("div.combobox-item");
  285. if(!_4c.hasClass("combobox-item-disabled")){
  286. _4c.addClass("combobox-item-hover");
  287. }
  288. e.stopPropagation();
  289. };
  290. function _4d(e){
  291. $(e.target).closest("div.combobox-item").removeClass("combobox-item-hover");
  292. e.stopPropagation();
  293. };
  294. function _4e(e){
  295. var _4f=$(this).panel("options").comboTarget;
  296. if(!_4f){
  297. return;
  298. }
  299. var _50=$(_4f).combobox("options");
  300. var _51=$(e.target).closest("div.combobox-item");
  301. if(!_51.length||_51.hasClass("combobox-item-disabled")){
  302. return;
  303. }
  304. var row=_50.finder.getRow(_4f,_51);
  305. if(!row){
  306. return;
  307. }
  308. if(_50.blurTimer){
  309. clearTimeout(_50.blurTimer);
  310. _50.blurTimer=null;
  311. }
  312. _50.onClick.call(_4f,row);
  313. var _52=row[_50.valueField];
  314. if(_50.multiple){
  315. if(_51.hasClass("combobox-item-selected")){
  316. _1a(_4f,_52);
  317. }else{
  318. _13(_4f,_52);
  319. }
  320. }else{
  321. $(_4f).combobox("setValue",_52).combobox("hidePanel");
  322. }
  323. e.stopPropagation();
  324. };
  325. function _53(e){
  326. var _54=$(this).panel("options").comboTarget;
  327. if(!_54){
  328. return;
  329. }
  330. var _55=$(_54).combobox("options");
  331. if(_55.groupPosition=="sticky"){
  332. var _56=$(this).children(".combobox-stick");
  333. if(!_56.length){
  334. _56=$("<div class=\"combobox-stick\"></div>").appendTo(this);
  335. }
  336. _56.hide();
  337. var _57=$(_54).data("combobox");
  338. $(this).children(".combobox-group:visible").each(function(){
  339. var g=$(this);
  340. var _58=_55.finder.getGroup(_54,g);
  341. var _59=_57.data[_58.startIndex+_58.count-1];
  342. var _5a=_55.finder.getEl(_54,_59[_55.valueField]);
  343. if(g.position().top<0&&_5a.position().top>0){
  344. _56.show().html(g.html());
  345. return false;
  346. }
  347. });
  348. }
  349. };
  350. $.fn.combobox=function(_5b,_5c){
  351. if(typeof _5b=="string"){
  352. var _5d=$.fn.combobox.methods[_5b];
  353. if(_5d){
  354. return _5d(this,_5c);
  355. }else{
  356. return this.combo(_5b,_5c);
  357. }
  358. }
  359. _5b=_5b||{};
  360. return this.each(function(){
  361. var _5e=$.data(this,"combobox");
  362. if(_5e){
  363. $.extend(_5e.options,_5b);
  364. }else{
  365. _5e=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_5b),data:[]});
  366. }
  367. _47(this);
  368. if(_5e.options.data){
  369. _2a(this,_5e.options.data);
  370. }else{
  371. var _5f=$.fn.combobox.parseData(this);
  372. if(_5f.length){
  373. _2a(this,_5f);
  374. }
  375. }
  376. _30(this);
  377. });
  378. };
  379. $.fn.combobox.methods={options:function(jq){
  380. var _60=jq.combo("options");
  381. return $.extend($.data(jq[0],"combobox").options,{width:_60.width,height:_60.height,originalValue:_60.originalValue,disabled:_60.disabled,readonly:_60.readonly});
  382. },cloneFrom:function(jq,_61){
  383. return jq.each(function(){
  384. $(this).combo("cloneFrom",_61);
  385. $.data(this,"combobox",$(_61).data("combobox"));
  386. $(this).addClass("combobox-f").attr("comboboxName",$(this).attr("textboxName"));
  387. });
  388. },getData:function(jq){
  389. return $.data(jq[0],"combobox").data;
  390. },setValues:function(jq,_62){
  391. return jq.each(function(){
  392. var _63=$(this).combobox("options");
  393. if($.isArray(_62)){
  394. _62=$.map(_62,function(_64){
  395. if(_64&&typeof _64=="object"){
  396. $.easyui.addArrayItem(_63.mappingRows,_63.valueField,_64);
  397. return _64[_63.valueField];
  398. }else{
  399. return _64;
  400. }
  401. });
  402. }
  403. _19(this,_62);
  404. });
  405. },setValue:function(jq,_65){
  406. return jq.each(function(){
  407. $(this).combobox("setValues",$.isArray(_65)?_65:[_65]);
  408. });
  409. },clear:function(jq){
  410. return jq.each(function(){
  411. _19(this,[]);
  412. });
  413. },reset:function(jq){
  414. return jq.each(function(){
  415. var _66=$(this).combobox("options");
  416. if(_66.multiple){
  417. $(this).combobox("setValues",_66.originalValue);
  418. }else{
  419. $(this).combobox("setValue",_66.originalValue);
  420. }
  421. });
  422. },loadData:function(jq,_67){
  423. return jq.each(function(){
  424. _2a(this,_67);
  425. });
  426. },reload:function(jq,url){
  427. return jq.each(function(){
  428. if(typeof url=="string"){
  429. _30(this,url);
  430. }else{
  431. if(url){
  432. var _68=$(this).combobox("options");
  433. _68.queryParams=url;
  434. }
  435. _30(this);
  436. }
  437. });
  438. },select:function(jq,_69){
  439. return jq.each(function(){
  440. _13(this,_69);
  441. });
  442. },unselect:function(jq,_6a){
  443. return jq.each(function(){
  444. _1a(this,_6a);
  445. });
  446. },scrollTo:function(jq,_6b){
  447. return jq.each(function(){
  448. _5(this,_6b);
  449. });
  450. }};
  451. $.fn.combobox.parseOptions=function(_6c){
  452. var t=$(_6c);
  453. return $.extend({},$.fn.combo.parseOptions(_6c),$.parser.parseOptions(_6c,["valueField","textField","groupField","groupPosition","mode","method","url",{showItemIcon:"boolean",limitToList:"boolean"}]));
  454. };
  455. $.fn.combobox.parseData=function(_6d){
  456. var _6e=[];
  457. var _6f=$(_6d).combobox("options");
  458. $(_6d).children().each(function(){
  459. if(this.tagName.toLowerCase()=="optgroup"){
  460. var _70=$(this).attr("label");
  461. $(this).children().each(function(){
  462. _71(this,_70);
  463. });
  464. }else{
  465. _71(this);
  466. }
  467. });
  468. return _6e;
  469. function _71(el,_72){
  470. var t=$(el);
  471. var row={};
  472. row[_6f.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text();
  473. row[_6f.textField]=t.text();
  474. row["iconCls"]=$.parser.parseOptions(el,["iconCls"]).iconCls;
  475. row["selected"]=t.is(":selected");
  476. row["disabled"]=t.is(":disabled");
  477. if(_72){
  478. _6f.groupField=_6f.groupField||"group";
  479. row[_6f.groupField]=_72;
  480. }
  481. _6e.push(row);
  482. };
  483. };
  484. var _73=0;
  485. var _74={render:function(_75,_76,_77){
  486. var _78=$.data(_75,"combobox");
  487. var _79=_78.options;
  488. _73++;
  489. _78.itemIdPrefix="_easyui_combobox_i"+_73;
  490. _78.groupIdPrefix="_easyui_combobox_g"+_73;
  491. _78.groups=[];
  492. var dd=[];
  493. var _7a=undefined;
  494. for(var i=0;i<_77.length;i++){
  495. var row=_77[i];
  496. var v=row[_79.valueField]+"";
  497. var s=row[_79.textField];
  498. var g=row[_79.groupField];
  499. if(g){
  500. if(_7a!=g){
  501. _7a=g;
  502. _78.groups.push({value:g,startIndex:i,count:1});
  503. dd.push("<div id=\""+(_78.groupIdPrefix+"_"+(_78.groups.length-1))+"\" class=\"combobox-group\">");
  504. dd.push(_79.groupFormatter?_79.groupFormatter.call(_75,g):g);
  505. dd.push("</div>");
  506. }else{
  507. _78.groups[_78.groups.length-1].count++;
  508. }
  509. }else{
  510. _7a=undefined;
  511. }
  512. var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":"");
  513. dd.push("<div id=\""+(_78.itemIdPrefix+"_"+i)+"\" class=\""+cls+"\">");
  514. if(_79.showItemIcon&&row.iconCls){
  515. dd.push("<span class=\"combobox-icon "+row.iconCls+"\"></span>");
  516. }
  517. dd.push(_79.formatter?_79.formatter.call(_75,row):s);
  518. dd.push("</div>");
  519. }
  520. $(_76).html(dd.join(""));
  521. }};
  522. $.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupPosition:"static",groupField:null,groupFormatter:function(_7b){
  523. return _7b;
  524. },mode:"local",method:"post",url:null,data:null,queryParams:{},showItemIcon:false,limitToList:false,unselectedValues:[],mappingRows:[],view:_74,keyHandler:{up:function(e){
  525. _b(this,"prev");
  526. e.preventDefault();
  527. },down:function(e){
  528. _b(this,"next");
  529. e.preventDefault();
  530. },left:function(e){
  531. },right:function(e){
  532. },enter:function(e){
  533. _41(this);
  534. },query:function(q,e){
  535. _36(this,q);
  536. }},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){
  537. $.fn.combo.defaults.inputEvents.blur(e);
  538. var _7c=e.data.target;
  539. var _7d=$(_7c).combobox("options");
  540. if(_7d.reversed||_7d.limitToList){
  541. if(_7d.blurTimer){
  542. clearTimeout(_7d.blurTimer);
  543. }
  544. _7d.blurTimer=setTimeout(function(){
  545. var _7e=$(_7c).parent().length;
  546. if(_7e){
  547. if(_7d.reversed){
  548. $(_7c).combobox("setValues",$(_7c).combobox("getValues"));
  549. }else{
  550. if(_7d.limitToList){
  551. var vv=[];
  552. $.map($(_7c).combobox("getValues"),function(v){
  553. var _7f=$.easyui.indexOfArray($(_7c).combobox("getData"),_7d.valueField,v);
  554. if(_7f>=0){
  555. vv.push(v);
  556. }
  557. });
  558. $(_7c).combobox("setValues",vv);
  559. }
  560. }
  561. _7d.blurTimer=null;
  562. }
  563. },50);
  564. }
  565. }}),panelEvents:{mouseover:_4b,mouseout:_4d,mousedown:function(e){
  566. e.preventDefault();
  567. e.stopPropagation();
  568. },click:_4e,scroll:_53},filter:function(q,row){
  569. var _80=$(this).combobox("options");
  570. return row[_80.textField].toLowerCase().indexOf(q.toLowerCase())>=0;
  571. },formatter:function(row){
  572. var _81=$(this).combobox("options");
  573. return row[_81.textField];
  574. },loader:function(_82,_83,_84){
  575. var _85=$(this).combobox("options");
  576. if(!_85.url){
  577. return false;
  578. }
  579. $.ajax({type:_85.method,url:_85.url,data:_82,dataType:"json",success:function(_86){
  580. _83(_86);
  581. },error:function(){
  582. _84.apply(this,arguments);
  583. }});
  584. },loadFilter:function(_87){
  585. return _87;
  586. },finder:{getEl:function(_88,_89){
  587. var _8a=_1(_88,_89);
  588. var id=$.data(_88,"combobox").itemIdPrefix+"_"+_8a;
  589. return $("#"+id);
  590. },getGroupEl:function(_8b,_8c){
  591. var _8d=$.data(_8b,"combobox");
  592. var _8e=$.easyui.indexOfArray(_8d.groups,"value",_8c);
  593. var id=_8d.groupIdPrefix+"_"+_8e;
  594. return $("#"+id);
  595. },getGroup:function(_8f,p){
  596. var _90=$.data(_8f,"combobox");
  597. var _91=p.attr("id").substr(_90.groupIdPrefix.length+1);
  598. return _90.groups[parseInt(_91)];
  599. },getRow:function(_92,p){
  600. var _93=$.data(_92,"combobox");
  601. var _94=(p instanceof $)?p.attr("id").substr(_93.itemIdPrefix.length+1):_1(_92,p);
  602. return _93.data[parseInt(_94)];
  603. }},onBeforeLoad:function(_95){
  604. },onLoadSuccess:function(_96){
  605. },onLoadError:function(){
  606. },onSelect:function(_97){
  607. },onUnselect:function(_98){
  608. },onClick:function(_99){
  609. }});
  610. })(jQuery);