jquery.tabs.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716
  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(c){
  12. var w=0;
  13. $(c).children().each(function(){
  14. w+=$(this).outerWidth(true);
  15. });
  16. return w;
  17. };
  18. function _2(_3){
  19. var _4=$.data(_3,"tabs").options;
  20. if(!_4.showHeader){
  21. return;
  22. }
  23. var _5=$(_3).children("div.tabs-header");
  24. var _6=_5.children("div.tabs-tool:not(.tabs-tool-hidden)");
  25. var _7=_5.children("div.tabs-scroller-left");
  26. var _8=_5.children("div.tabs-scroller-right");
  27. var _9=_5.children("div.tabs-wrap");
  28. if(_4.tabPosition=="left"||_4.tabPosition=="right"){
  29. if(!_6.length){
  30. return;
  31. }
  32. _6._outerWidth(_5.width());
  33. var _a={left:_4.tabPosition=="left"?"auto":0,right:_4.tabPosition=="left"?0:"auto",top:_4.toolPosition=="top"?0:"auto",bottom:_4.toolPosition=="top"?"auto":0};
  34. var _b={marginTop:_4.toolPosition=="top"?_6.outerHeight():0};
  35. _6.css(_a);
  36. _9.css(_b);
  37. return;
  38. }
  39. var _c=_5.outerHeight();
  40. if(_4.plain){
  41. _c-=_c-_5.height();
  42. }
  43. _6._outerHeight(_c);
  44. var _d=_1(_5.find("ul.tabs"));
  45. var _e=_5.width()-_6._outerWidth();
  46. if(_d>_e){
  47. _7.add(_8).show()._outerHeight(_c);
  48. if(_4.toolPosition=="left"){
  49. _6.css({left:_7.outerWidth(),right:""});
  50. _9.css({marginLeft:_7.outerWidth()+_6._outerWidth(),marginRight:_8._outerWidth(),width:_e-_7.outerWidth()-_8.outerWidth()});
  51. }else{
  52. _6.css({left:"",right:_8.outerWidth()});
  53. _9.css({marginLeft:_7.outerWidth(),marginRight:_8.outerWidth()+_6._outerWidth(),width:_e-_7.outerWidth()-_8.outerWidth()});
  54. }
  55. }else{
  56. _7.add(_8).hide();
  57. if(_4.toolPosition=="left"){
  58. _6.css({left:0,right:""});
  59. _9.css({marginLeft:_6._outerWidth(),marginRight:0,width:_e});
  60. }else{
  61. _6.css({left:"",right:0});
  62. _9.css({marginLeft:0,marginRight:_6._outerWidth(),width:_e});
  63. }
  64. }
  65. };
  66. function _f(_10){
  67. var _11=$.data(_10,"tabs").options;
  68. var _12=$(_10).children("div.tabs-header");
  69. if(_11.tools){
  70. if(typeof _11.tools=="string"){
  71. $(_11.tools).addClass("tabs-tool").appendTo(_12);
  72. $(_11.tools).show();
  73. }else{
  74. _12.children("div.tabs-tool").remove();
  75. var _13=$("<div class=\"tabs-tool\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"height:100%\"><tr></tr></table></div>").appendTo(_12);
  76. var tr=_13.find("tr");
  77. for(var i=0;i<_11.tools.length;i++){
  78. var td=$("<td></td>").appendTo(tr);
  79. var _14=$("<a href=\"javascript:;\"></a>").appendTo(td);
  80. _14[0].onclick=eval(_11.tools[i].handler||function(){
  81. });
  82. _14.linkbutton($.extend({},_11.tools[i],{plain:true}));
  83. }
  84. }
  85. }else{
  86. _12.children("div.tabs-tool").remove();
  87. }
  88. };
  89. function _15(_16,_17){
  90. var _18=$.data(_16,"tabs");
  91. var _19=_18.options;
  92. var cc=$(_16);
  93. if(!_19.doSize){
  94. return;
  95. }
  96. if(_17){
  97. $.extend(_19,{width:_17.width,height:_17.height});
  98. }
  99. cc._size(_19);
  100. var _1a=cc.children("div.tabs-header");
  101. var _1b=cc.children("div.tabs-panels");
  102. var _1c=_1a.find("div.tabs-wrap");
  103. var ul=_1c.find(".tabs");
  104. ul.children("li").removeClass("tabs-first tabs-last");
  105. ul.children("li:first").addClass("tabs-first");
  106. ul.children("li:last").addClass("tabs-last");
  107. if(_19.tabPosition=="left"||_19.tabPosition=="right"){
  108. _1a._outerWidth(_19.showHeader?_19.headerWidth:0);
  109. _1b._outerWidth(cc.width()-_1a.outerWidth());
  110. _1a.add(_1b)._size("height",isNaN(parseInt(_19.height))?"":cc.height());
  111. _1c._outerWidth(_1a.width());
  112. ul._outerWidth(_1c.width()).css("height","");
  113. }else{
  114. _1a.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool:not(.tabs-tool-hidden)").css("display",_19.showHeader?"block":"none");
  115. _1a._outerWidth(cc.width()).css("height","");
  116. if(_19.showHeader){
  117. _1a.css("background-color","");
  118. _1c.css("height","");
  119. }else{
  120. _1a.css("background-color","transparent");
  121. _1a._outerHeight(0);
  122. _1c._outerHeight(0);
  123. }
  124. ul._outerHeight(_19.tabHeight).css("width","");
  125. ul._outerHeight(ul.outerHeight()-ul.height()-1+_19.tabHeight).css("width","");
  126. _1b._size("height",isNaN(parseInt(_19.height))?"":(cc.height()-_1a.outerHeight()));
  127. _1b._size("width",cc.width());
  128. }
  129. if(_18.tabs.length){
  130. var d1=ul.outerWidth(true)-ul.width();
  131. var li=ul.children("li:first");
  132. var d2=li.outerWidth(true)-li.width();
  133. var _1d=_1a.width()-_1a.children(".tabs-tool:not(.tabs-tool-hidden)")._outerWidth();
  134. var _1e=Math.floor((_1d-d1-d2*_18.tabs.length)/_18.tabs.length);
  135. $.map(_18.tabs,function(p){
  136. _1f(p,(_19.justified&&$.inArray(_19.tabPosition,["top","bottom"])>=0)?_1e:undefined);
  137. });
  138. if(_19.justified&&$.inArray(_19.tabPosition,["top","bottom"])>=0){
  139. var _20=_1d-d1-_1(ul);
  140. _1f(_18.tabs[_18.tabs.length-1],_1e+_20);
  141. }
  142. }
  143. _2(_16);
  144. function _1f(p,_21){
  145. var _22=p.panel("options");
  146. var p_t=_22.tab.find("a.tabs-inner");
  147. var _21=_21?_21:(parseInt(_22.tabWidth||_19.tabWidth||undefined));
  148. if(_21){
  149. p_t._outerWidth(_21);
  150. }else{
  151. p_t.css("width","");
  152. }
  153. p_t._outerHeight(_19.tabHeight);
  154. p_t.css("lineHeight",p_t.height()+"px");
  155. p_t.find(".easyui-fluid:visible").triggerHandler("_resize");
  156. };
  157. };
  158. function _23(_24){
  159. var _25=$.data(_24,"tabs").options;
  160. var tab=_26(_24);
  161. if(tab){
  162. var _27=$(_24).children("div.tabs-panels");
  163. var _28=_25.width=="auto"?"auto":_27.width();
  164. var _29=_25.height=="auto"?"auto":_27.height();
  165. tab.panel("resize",{width:_28,height:_29});
  166. }
  167. };
  168. function _2a(_2b){
  169. var _2c=$.data(_2b,"tabs").tabs;
  170. var cc=$(_2b).addClass("tabs-container");
  171. var _2d=$("<div class=\"tabs-panels\"></div>").insertBefore(cc);
  172. cc.children("div").each(function(){
  173. _2d[0].appendChild(this);
  174. });
  175. cc[0].appendChild(_2d[0]);
  176. $("<div class=\"tabs-header\">"+"<div class=\"tabs-scroller-left\"></div>"+"<div class=\"tabs-scroller-right\"></div>"+"<div class=\"tabs-wrap\">"+"<ul class=\"tabs\"></ul>"+"</div>"+"</div>").prependTo(_2b);
  177. cc.children("div.tabs-panels").children("div").each(function(i){
  178. var _2e=$.extend({},$.parser.parseOptions(this),{disabled:($(this).attr("disabled")?true:undefined),selected:($(this).attr("selected")?true:undefined)});
  179. _3e(_2b,_2e,$(this));
  180. });
  181. cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){
  182. $(this).addClass("tabs-scroller-over");
  183. },function(){
  184. $(this).removeClass("tabs-scroller-over");
  185. });
  186. cc.bind("_resize",function(e,_2f){
  187. if($(this).hasClass("easyui-fluid")||_2f){
  188. _15(_2b);
  189. _23(_2b);
  190. }
  191. return false;
  192. });
  193. };
  194. function _30(_31){
  195. var _32=$.data(_31,"tabs");
  196. var _33=_32.options;
  197. $(_31).children("div.tabs-header").unbind().bind("click",function(e){
  198. if($(e.target).hasClass("tabs-scroller-left")){
  199. $(_31).tabs("scrollBy",-_33.scrollIncrement);
  200. }else{
  201. if($(e.target).hasClass("tabs-scroller-right")){
  202. $(_31).tabs("scrollBy",_33.scrollIncrement);
  203. }else{
  204. var li=$(e.target).closest("li");
  205. if(li.hasClass("tabs-disabled")){
  206. return false;
  207. }
  208. var a=$(e.target).closest("a.tabs-close");
  209. if(a.length){
  210. _5d(_31,_34(li));
  211. }else{
  212. if(li.length){
  213. var _35=_34(li);
  214. var _36=_32.tabs[_35].panel("options");
  215. if(_36.collapsible){
  216. _36.closed?_53(_31,_35):_7b(_31,_35);
  217. }else{
  218. _53(_31,_35);
  219. }
  220. }
  221. }
  222. return false;
  223. }
  224. }
  225. }).bind("contextmenu",function(e){
  226. var li=$(e.target).closest("li");
  227. if(li.hasClass("tabs-disabled")){
  228. return;
  229. }
  230. if(li.length){
  231. _33.onContextMenu.call(_31,e,li.find("span.tabs-title").html(),_34(li));
  232. }
  233. });
  234. function _34(li){
  235. var _37=0;
  236. li.parent().children("li").each(function(i){
  237. if(li[0]==this){
  238. _37=i;
  239. return false;
  240. }
  241. });
  242. return _37;
  243. };
  244. };
  245. function _38(_39){
  246. var _3a=$.data(_39,"tabs").options;
  247. var _3b=$(_39).children("div.tabs-header");
  248. var _3c=$(_39).children("div.tabs-panels");
  249. _3b.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right");
  250. _3c.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right");
  251. if(_3a.tabPosition=="top"){
  252. _3b.insertBefore(_3c);
  253. }else{
  254. if(_3a.tabPosition=="bottom"){
  255. _3b.insertAfter(_3c);
  256. _3b.addClass("tabs-header-bottom");
  257. _3c.addClass("tabs-panels-top");
  258. }else{
  259. if(_3a.tabPosition=="left"){
  260. _3b.addClass("tabs-header-left");
  261. _3c.addClass("tabs-panels-right");
  262. }else{
  263. if(_3a.tabPosition=="right"){
  264. _3b.addClass("tabs-header-right");
  265. _3c.addClass("tabs-panels-left");
  266. }
  267. }
  268. }
  269. }
  270. if(_3a.plain==true){
  271. _3b.addClass("tabs-header-plain");
  272. }else{
  273. _3b.removeClass("tabs-header-plain");
  274. }
  275. _3b.removeClass("tabs-header-narrow").addClass(_3a.narrow?"tabs-header-narrow":"");
  276. var _3d=_3b.find(".tabs");
  277. _3d.removeClass("tabs-pill").addClass(_3a.pill?"tabs-pill":"");
  278. _3d.removeClass("tabs-narrow").addClass(_3a.narrow?"tabs-narrow":"");
  279. _3d.removeClass("tabs-justified").addClass(_3a.justified?"tabs-justified":"");
  280. if(_3a.border==true){
  281. _3b.removeClass("tabs-header-noborder");
  282. _3c.removeClass("tabs-panels-noborder");
  283. }else{
  284. _3b.addClass("tabs-header-noborder");
  285. _3c.addClass("tabs-panels-noborder");
  286. }
  287. _3a.doSize=true;
  288. };
  289. function _3e(_3f,_40,pp){
  290. _40=_40||{};
  291. var _41=$.data(_3f,"tabs");
  292. var _42=_41.tabs;
  293. if(_40.index==undefined||_40.index>_42.length){
  294. _40.index=_42.length;
  295. }
  296. if(_40.index<0){
  297. _40.index=0;
  298. }
  299. var ul=$(_3f).children("div.tabs-header").find("ul.tabs");
  300. var _43=$(_3f).children("div.tabs-panels");
  301. var tab=$("<li>"+"<a href=\"javascript:;\" class=\"tabs-inner\">"+"<span class=\"tabs-title\"></span>"+"<span class=\"tabs-icon\"></span>"+"</a>"+"</li>");
  302. if(!pp){
  303. pp=$("<div></div>");
  304. }
  305. if(_40.index>=_42.length){
  306. tab.appendTo(ul);
  307. pp.appendTo(_43);
  308. _42.push(pp);
  309. }else{
  310. tab.insertBefore(ul.children("li:eq("+_40.index+")"));
  311. pp.insertBefore(_43.children("div.panel:eq("+_40.index+")"));
  312. _42.splice(_40.index,0,pp);
  313. }
  314. pp.panel($.extend({},_40,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_40.icon?_40.icon:undefined),onLoad:function(){
  315. if(_40.onLoad){
  316. _40.onLoad.apply(this,arguments);
  317. }
  318. _41.options.onLoad.call(_3f,$(this));
  319. },onBeforeOpen:function(){
  320. if(_40.onBeforeOpen){
  321. if(_40.onBeforeOpen.call(this)==false){
  322. return false;
  323. }
  324. }
  325. var p=$(_3f).tabs("getSelected");
  326. if(p){
  327. if(p[0]!=this){
  328. $(_3f).tabs("unselect",_4d(_3f,p));
  329. p=$(_3f).tabs("getSelected");
  330. if(p){
  331. return false;
  332. }
  333. }else{
  334. _23(_3f);
  335. return false;
  336. }
  337. }
  338. var _44=$(this).panel("options");
  339. _44.tab.addClass("tabs-selected");
  340. var _45=$(_3f).find(">div.tabs-header>div.tabs-wrap");
  341. var _46=_44.tab.position().left;
  342. var _47=_46+_44.tab.outerWidth();
  343. if(_46<0||_47>_45.width()){
  344. var _48=_46-(_45.width()-_44.tab.width())/2;
  345. $(_3f).tabs("scrollBy",_48);
  346. }else{
  347. $(_3f).tabs("scrollBy",0);
  348. }
  349. var _49=$(this).panel("panel");
  350. _49.css("display","block");
  351. _23(_3f);
  352. _49.css("display","none");
  353. },onOpen:function(){
  354. if(_40.onOpen){
  355. _40.onOpen.call(this);
  356. }
  357. var _4a=$(this).panel("options");
  358. var _4b=_4d(_3f,this);
  359. _41.selectHis.push(_4b);
  360. _41.options.onSelect.call(_3f,_4a.title,_4b);
  361. },onBeforeClose:function(){
  362. if(_40.onBeforeClose){
  363. if(_40.onBeforeClose.call(this)==false){
  364. return false;
  365. }
  366. }
  367. $(this).panel("options").tab.removeClass("tabs-selected");
  368. },onClose:function(){
  369. if(_40.onClose){
  370. _40.onClose.call(this);
  371. }
  372. var _4c=$(this).panel("options");
  373. _41.options.onUnselect.call(_3f,_4c.title,_4d(_3f,this));
  374. }}));
  375. $(_3f).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"});
  376. };
  377. function _4e(_4f,_50){
  378. var _51=$.data(_4f,"tabs");
  379. var _52=_51.options;
  380. if(_50.selected==undefined){
  381. _50.selected=true;
  382. }
  383. _3e(_4f,_50);
  384. _52.onAdd.call(_4f,_50.title,_50.index);
  385. if(_50.selected){
  386. _53(_4f,_50.index);
  387. }
  388. };
  389. function _54(_55,_56){
  390. _56.type=_56.type||"all";
  391. var _57=$.data(_55,"tabs").selectHis;
  392. var pp=_56.tab;
  393. var _58=pp.panel("options");
  394. var _59=_58.title;
  395. $.extend(_58,_56.options,{iconCls:(_56.options.icon?_56.options.icon:undefined)});
  396. if(_56.type=="all"||_56.type=="body"){
  397. pp.panel();
  398. }
  399. if(_56.type=="all"||_56.type=="header"){
  400. var tab=_58.tab;
  401. if(_58.header){
  402. tab.find(".tabs-inner").html($(_58.header));
  403. }else{
  404. var _5a=tab.find("span.tabs-title");
  405. var _5b=tab.find("span.tabs-icon");
  406. _5a.html(_58.title);
  407. _5b.attr("class","tabs-icon");
  408. tab.find("a.tabs-close").remove();
  409. if(_58.closable){
  410. _5a.addClass("tabs-closable");
  411. $("<a href=\"javascript:;\" class=\"tabs-close\"></a>").appendTo(tab);
  412. }else{
  413. _5a.removeClass("tabs-closable");
  414. }
  415. if(_58.iconCls){
  416. _5a.addClass("tabs-with-icon");
  417. _5b.addClass(_58.iconCls);
  418. }else{
  419. _5a.removeClass("tabs-with-icon");
  420. }
  421. if(_58.tools){
  422. var _5c=tab.find("span.tabs-p-tool");
  423. if(!_5c.length){
  424. var _5c=$("<span class=\"tabs-p-tool\"></span>").insertAfter(tab.find("a.tabs-inner"));
  425. }
  426. if($.isArray(_58.tools)){
  427. _5c.empty();
  428. for(var i=0;i<_58.tools.length;i++){
  429. var t=$("<a href=\"javascript:;\"></a>").appendTo(_5c);
  430. t.addClass(_58.tools[i].iconCls);
  431. if(_58.tools[i].handler){
  432. t.bind("click",{handler:_58.tools[i].handler},function(e){
  433. if($(this).parents("li").hasClass("tabs-disabled")){
  434. return;
  435. }
  436. e.data.handler.call(this);
  437. });
  438. }
  439. }
  440. }else{
  441. $(_58.tools).children().appendTo(_5c);
  442. }
  443. var pr=_5c.children().length*12;
  444. if(_58.closable){
  445. pr+=8;
  446. _5c.css("right","");
  447. }else{
  448. pr-=3;
  449. _5c.css("right","5px");
  450. }
  451. _5a.css("padding-right",pr+"px");
  452. }else{
  453. tab.find("span.tabs-p-tool").remove();
  454. _5a.css("padding-right","");
  455. }
  456. }
  457. }
  458. if(_58.disabled){
  459. _58.tab.addClass("tabs-disabled");
  460. }else{
  461. _58.tab.removeClass("tabs-disabled");
  462. }
  463. _15(_55);
  464. $.data(_55,"tabs").options.onUpdate.call(_55,_58.title,_4d(_55,pp));
  465. };
  466. function _5d(_5e,_5f){
  467. var _60=$.data(_5e,"tabs");
  468. var _61=_60.options;
  469. var _62=_60.tabs;
  470. var _63=_60.selectHis;
  471. if(!_64(_5e,_5f)){
  472. return;
  473. }
  474. var tab=_65(_5e,_5f);
  475. var _66=tab.panel("options").title;
  476. var _67=_4d(_5e,tab);
  477. if(_61.onBeforeClose.call(_5e,_66,_67)==false){
  478. return;
  479. }
  480. var tab=_65(_5e,_5f,true);
  481. tab.panel("options").tab.remove();
  482. tab.panel("destroy");
  483. _61.onClose.call(_5e,_66,_67);
  484. _15(_5e);
  485. var his=[];
  486. for(var i=0;i<_63.length;i++){
  487. var _68=_63[i];
  488. if(_68!=_67){
  489. his.push(_68>_67?_68-1:_68);
  490. }
  491. }
  492. _60.selectHis=his;
  493. var _69=$(_5e).tabs("getSelected");
  494. if(!_69&&his.length){
  495. _67=_60.selectHis.pop();
  496. $(_5e).tabs("select",_67);
  497. }
  498. };
  499. function _65(_6a,_6b,_6c){
  500. var _6d=$.data(_6a,"tabs").tabs;
  501. var tab=null;
  502. if(typeof _6b=="number"){
  503. if(_6b>=0&&_6b<_6d.length){
  504. tab=_6d[_6b];
  505. if(_6c){
  506. _6d.splice(_6b,1);
  507. }
  508. }
  509. }else{
  510. var tmp=$("<span></span>");
  511. for(var i=0;i<_6d.length;i++){
  512. var p=_6d[i];
  513. tmp.html(p.panel("options").title);
  514. var _6e=tmp.text();
  515. tmp.html(_6b);
  516. _6b=tmp.text();
  517. if(_6e==_6b){
  518. tab=p;
  519. if(_6c){
  520. _6d.splice(i,1);
  521. }
  522. break;
  523. }
  524. }
  525. tmp.remove();
  526. }
  527. return tab;
  528. };
  529. function _4d(_6f,tab){
  530. var _70=$.data(_6f,"tabs").tabs;
  531. for(var i=0;i<_70.length;i++){
  532. if(_70[i][0]==$(tab)[0]){
  533. return i;
  534. }
  535. }
  536. return -1;
  537. };
  538. function _26(_71){
  539. var _72=$.data(_71,"tabs").tabs;
  540. for(var i=0;i<_72.length;i++){
  541. var tab=_72[i];
  542. if(tab.panel("options").tab.hasClass("tabs-selected")){
  543. return tab;
  544. }
  545. }
  546. return null;
  547. };
  548. function _73(_74){
  549. var _75=$.data(_74,"tabs");
  550. var _76=_75.tabs;
  551. for(var i=0;i<_76.length;i++){
  552. var _77=_76[i].panel("options");
  553. if(_77.selected&&!_77.disabled){
  554. _53(_74,i);
  555. return;
  556. }
  557. }
  558. _53(_74,_75.options.selected);
  559. };
  560. function _53(_78,_79){
  561. var p=_65(_78,_79);
  562. if(p&&!p.is(":visible")){
  563. _7a(_78);
  564. if(!p.panel("options").disabled){
  565. p.panel("open");
  566. }
  567. }
  568. };
  569. function _7b(_7c,_7d){
  570. var p=_65(_7c,_7d);
  571. if(p&&p.is(":visible")){
  572. _7a(_7c);
  573. p.panel("close");
  574. }
  575. };
  576. function _7a(_7e){
  577. $(_7e).children("div.tabs-panels").each(function(){
  578. $(this).stop(true,true);
  579. });
  580. };
  581. function _64(_7f,_80){
  582. return _65(_7f,_80)!=null;
  583. };
  584. function _81(_82,_83){
  585. var _84=$.data(_82,"tabs").options;
  586. _84.showHeader=_83;
  587. $(_82).tabs("resize");
  588. };
  589. function _85(_86,_87){
  590. var _88=$(_86).find(">.tabs-header>.tabs-tool");
  591. if(_87){
  592. _88.removeClass("tabs-tool-hidden").show();
  593. }else{
  594. _88.addClass("tabs-tool-hidden").hide();
  595. }
  596. $(_86).tabs("resize").tabs("scrollBy",0);
  597. };
  598. $.fn.tabs=function(_89,_8a){
  599. if(typeof _89=="string"){
  600. return $.fn.tabs.methods[_89](this,_8a);
  601. }
  602. _89=_89||{};
  603. return this.each(function(){
  604. var _8b=$.data(this,"tabs");
  605. if(_8b){
  606. $.extend(_8b.options,_89);
  607. }else{
  608. $.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_89),tabs:[],selectHis:[]});
  609. _2a(this);
  610. }
  611. _f(this);
  612. _38(this);
  613. _15(this);
  614. _30(this);
  615. _73(this);
  616. });
  617. };
  618. $.fn.tabs.methods={options:function(jq){
  619. var cc=jq[0];
  620. var _8c=$.data(cc,"tabs").options;
  621. var s=_26(cc);
  622. _8c.selected=s?_4d(cc,s):-1;
  623. return _8c;
  624. },tabs:function(jq){
  625. return $.data(jq[0],"tabs").tabs;
  626. },resize:function(jq,_8d){
  627. return jq.each(function(){
  628. _15(this,_8d);
  629. _23(this);
  630. });
  631. },add:function(jq,_8e){
  632. return jq.each(function(){
  633. _4e(this,_8e);
  634. });
  635. },close:function(jq,_8f){
  636. return jq.each(function(){
  637. _5d(this,_8f);
  638. });
  639. },getTab:function(jq,_90){
  640. return _65(jq[0],_90);
  641. },getTabIndex:function(jq,tab){
  642. return _4d(jq[0],tab);
  643. },getSelected:function(jq){
  644. return _26(jq[0]);
  645. },select:function(jq,_91){
  646. return jq.each(function(){
  647. _53(this,_91);
  648. });
  649. },unselect:function(jq,_92){
  650. return jq.each(function(){
  651. _7b(this,_92);
  652. });
  653. },exists:function(jq,_93){
  654. return _64(jq[0],_93);
  655. },update:function(jq,_94){
  656. return jq.each(function(){
  657. _54(this,_94);
  658. });
  659. },enableTab:function(jq,_95){
  660. return jq.each(function(){
  661. var _96=$(this).tabs("getTab",_95).panel("options");
  662. _96.tab.removeClass("tabs-disabled");
  663. _96.disabled=false;
  664. });
  665. },disableTab:function(jq,_97){
  666. return jq.each(function(){
  667. var _98=$(this).tabs("getTab",_97).panel("options");
  668. _98.tab.addClass("tabs-disabled");
  669. _98.disabled=true;
  670. });
  671. },showHeader:function(jq){
  672. return jq.each(function(){
  673. _81(this,true);
  674. });
  675. },hideHeader:function(jq){
  676. return jq.each(function(){
  677. _81(this,false);
  678. });
  679. },showTool:function(jq){
  680. return jq.each(function(){
  681. _85(this,true);
  682. });
  683. },hideTool:function(jq){
  684. return jq.each(function(){
  685. _85(this,false);
  686. });
  687. },scrollBy:function(jq,_99){
  688. return jq.each(function(){
  689. var _9a=$(this).tabs("options");
  690. var _9b=$(this).find(">div.tabs-header>div.tabs-wrap");
  691. var pos=Math.min(_9b._scrollLeft()+_99,_9c());
  692. _9b.animate({scrollLeft:pos},_9a.scrollDuration);
  693. function _9c(){
  694. var w=0;
  695. var ul=_9b.children("ul");
  696. ul.children("li").each(function(){
  697. w+=$(this).outerWidth(true);
  698. });
  699. return w-_9b.width()+(ul.outerWidth()-ul.width());
  700. };
  701. });
  702. }};
  703. $.fn.tabs.parseOptions=function(_9d){
  704. return $.extend({},$.parser.parseOptions(_9d,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}]));
  705. };
  706. $.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:32,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_9e){
  707. },onSelect:function(_9f,_a0){
  708. },onUnselect:function(_a1,_a2){
  709. },onBeforeClose:function(_a3,_a4){
  710. },onClose:function(_a5,_a6){
  711. },onAdd:function(_a7,_a8){
  712. },onUpdate:function(_a9,_aa){
  713. },onContextMenu:function(e,_ab,_ac){
  714. }};
  715. })(jQuery);