5f2fcd81dac2247174aabba3ebdacbc181a043e4.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. /**
  2. * jQuery EasyUI 1.3.6
  3. *
  4. * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
  7. * To use it on other terms please contact us at info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. $.fn._remove=function(){
  12. return this.each(function(){
  13. $(this).remove();
  14. try{
  15. this.outerHTML="";
  16. }
  17. catch(err){
  18. }
  19. });
  20. };
  21. function _1(_2){
  22. _2._remove();
  23. };
  24. function _3(_4,_5){
  25. var _6=$.data(_4,"panel").options;
  26. var _7=$.data(_4,"panel").panel;
  27. var _8=_7.children("div.panel-header");
  28. var _9=_7.children("div.panel-body");
  29. if(_5){
  30. $.extend(_6,{width:_5.width,height:_5.height,left:_5.left,top:_5.top});
  31. }
  32. _6.fit?$.extend(_6,_7._fit()):_7._fit(false);
  33. _7.css({left:_6.left,top:_6.top});
  34. if(!isNaN(_6.width)){
  35. _7._outerWidth(_6.width);
  36. }else{
  37. _7.width("auto");
  38. }
  39. _8.add(_9)._outerWidth(_7.width());
  40. if(!isNaN(_6.height)){
  41. _7._outerHeight(_6.height);
  42. _9._outerHeight(_7.height()-_8._outerHeight());
  43. }else{
  44. _9.height("auto");
  45. }
  46. _7.css("height","");
  47. _6.onResize.apply(_4,[_6.width,_6.height]);
  48. $(_4).find(">div:visible,>form>div:visible").triggerHandler("_resize");
  49. };
  50. function _a(_b,_c){
  51. var _d=$.data(_b,"panel").options;
  52. var _e=$.data(_b,"panel").panel;
  53. if(_c){
  54. if(_c.left!=null){
  55. _d.left=_c.left;
  56. }
  57. if(_c.top!=null){
  58. _d.top=_c.top;
  59. }
  60. }
  61. _e.css({left:_d.left,top:_d.top});
  62. _d.onMove.apply(_b,[_d.left,_d.top]);
  63. };
  64. function _f(_10){
  65. $(_10).addClass("panel-body");
  66. var _11=$("<div class=\"panel\"></div>").insertBefore(_10);
  67. _11[0].appendChild(_10);
  68. _11.bind("_resize",function(){
  69. var _12=$.data(_10,"panel").options;
  70. if(_12.fit==true){
  71. _3(_10);
  72. }
  73. return false;
  74. });
  75. return _11;
  76. };
  77. function _13(_14){
  78. var _15=$.data(_14,"panel").options;
  79. var _16=$.data(_14,"panel").panel;
  80. if(_15.tools&&typeof _15.tools=="string"){
  81. _16.find(">div.panel-header>div.panel-tool .panel-tool-a").appendTo(_15.tools);
  82. }
  83. _1(_16.children("div.panel-header"));
  84. if(_15.title&&!_15.noheader){
  85. var _17=$("<div class=\"panel-header\"><div class=\"panel-title\">"+_15.title+"</div></div>").prependTo(_16);
  86. if(_15.iconCls){
  87. _17.find(".panel-title").addClass("panel-with-icon");
  88. $("<div class=\"panel-icon\"></div>").addClass(_15.iconCls).appendTo(_17);
  89. }
  90. var _18=$("<div class=\"panel-tool\"></div>").appendTo(_17);
  91. _18.bind("click",function(e){
  92. e.stopPropagation();
  93. });
  94. if(_15.tools){
  95. if($.isArray(_15.tools)){
  96. for(var i=0;i<_15.tools.length;i++){
  97. var t=$("<a href=\"javascript:void(0)\"></a>").addClass(_15.tools[i].iconCls).appendTo(_18);
  98. if(_15.tools[i].handler){
  99. t.bind("click",eval(_15.tools[i].handler));
  100. }
  101. }
  102. }else{
  103. $(_15.tools).children().each(function(){
  104. $(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(_18);
  105. });
  106. }
  107. }
  108. if(_15.collapsible){
  109. $("<a class=\"panel-tool-collapse\" href=\"javascript:void(0)\"></a>").appendTo(_18).bind("click",function(){
  110. if(_15.collapsed==true){
  111. _3e(_14,true);
  112. }else{
  113. _2e(_14,true);
  114. }
  115. return false;
  116. });
  117. }
  118. if(_15.minimizable){
  119. $("<a class=\"panel-tool-min\" href=\"javascript:void(0)\"></a>").appendTo(_18).bind("click",function(){
  120. _49(_14);
  121. return false;
  122. });
  123. }
  124. if(_15.maximizable){
  125. $("<a class=\"panel-tool-max\" href=\"javascript:void(0)\"></a>").appendTo(_18).bind("click",function(){
  126. if(_15.maximized==true){
  127. _4d(_14);
  128. }else{
  129. _2d(_14);
  130. }
  131. return false;
  132. });
  133. }
  134. if(_15.closable){
  135. $("<a class=\"panel-tool-close\" href=\"javascript:void(0)\"></a>").appendTo(_18).bind("click",function(){
  136. _19(_14);
  137. return false;
  138. });
  139. }
  140. _16.children("div.panel-body").removeClass("panel-body-noheader");
  141. }else{
  142. _16.children("div.panel-body").addClass("panel-body-noheader");
  143. }
  144. };
  145. function _1a(_1b,_1c){
  146. var _1d=$.data(_1b,"panel");
  147. var _1e=_1d.options;
  148. if(_1f){
  149. _1e.queryParams=_1c;
  150. }
  151. if(_1e.href){
  152. if(!_1d.isLoaded||!_1e.cache){
  153. var _1f=$.extend({},_1e.queryParams);
  154. if(_1e.onBeforeLoad.call(_1b,_1f)==false){
  155. return;
  156. }
  157. _1d.isLoaded=false;
  158. _20(_1b);
  159. if(_1e.loadingMessage){
  160. $(_1b).html($("<div class=\"panel-loading\"></div>").html(_1e.loadingMessage));
  161. }
  162. _1e.loader.call(_1b,_1f,function(_21){
  163. _22(_1e.extractor.call(_1b,_21));
  164. _1e.onLoad.apply(_1b,arguments);
  165. _1d.isLoaded=true;
  166. },function(){
  167. _1e.onLoadError.apply(_1b,arguments);
  168. });
  169. }
  170. }else{
  171. if(_1e.content){
  172. if(!_1d.isLoaded){
  173. _20(_1b);
  174. _22(_1e.content);
  175. _1d.isLoaded=true;
  176. }
  177. }
  178. }
  179. function _22(_23){
  180. $(_1b).html(_23);
  181. $.parser.parse($(_1b));
  182. };
  183. };
  184. function _20(_24){
  185. var t=$(_24);
  186. t.find(".combo-f").each(function(){
  187. $(this).combo("destroy");
  188. });
  189. t.find(".m-btn").each(function(){
  190. $(this).menubutton("destroy");
  191. });
  192. t.find(".s-btn").each(function(){
  193. $(this).splitbutton("destroy");
  194. });
  195. t.find(".tooltip-f").each(function(){
  196. $(this).tooltip("destroy");
  197. });
  198. t.children("div").each(function(){
  199. $(this)._fit(false);
  200. });
  201. };
  202. function _25(_26){
  203. $(_26).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible").each(function(){
  204. $(this).triggerHandler("_resize",[true]);
  205. });
  206. };
  207. function _27(_28,_29){
  208. var _2a=$.data(_28,"panel").options;
  209. var _2b=$.data(_28,"panel").panel;
  210. if(_29!=true){
  211. if(_2a.onBeforeOpen.call(_28)==false){
  212. return;
  213. }
  214. }
  215. _2b.show();
  216. _2a.closed=false;
  217. _2a.minimized=false;
  218. var _2c=_2b.children("div.panel-header").find("a.panel-tool-restore");
  219. if(_2c.length){
  220. _2a.maximized=true;
  221. }
  222. _2a.onOpen.call(_28);
  223. if(_2a.maximized==true){
  224. _2a.maximized=false;
  225. _2d(_28);
  226. }
  227. if(_2a.collapsed==true){
  228. _2a.collapsed=false;
  229. _2e(_28);
  230. }
  231. if(!_2a.collapsed){
  232. _1a(_28);
  233. _25(_28);
  234. }
  235. };
  236. function _19(_2f,_30){
  237. var _31=$.data(_2f,"panel").options;
  238. var _32=$.data(_2f,"panel").panel;
  239. if(_30!=true){
  240. if(_31.onBeforeClose.call(_2f)==false){
  241. return;
  242. }
  243. }
  244. _32._fit(false);
  245. _32.hide();
  246. _31.closed=true;
  247. _31.onClose.call(_2f);
  248. };
  249. function _33(_34,_35){
  250. var _36=$.data(_34,"panel").options;
  251. var _37=$.data(_34,"panel").panel;
  252. if(_35!=true){
  253. if(_36.onBeforeDestroy.call(_34)==false){
  254. return;
  255. }
  256. }
  257. _20(_34);
  258. _1(_37);
  259. _36.onDestroy.call(_34);
  260. };
  261. function _2e(_38,_39){
  262. var _3a=$.data(_38,"panel").options;
  263. var _3b=$.data(_38,"panel").panel;
  264. var _3c=_3b.children("div.panel-body");
  265. var _3d=_3b.children("div.panel-header").find("a.panel-tool-collapse");
  266. if(_3a.collapsed==true){
  267. return;
  268. }
  269. _3c.stop(true,true);
  270. if(_3a.onBeforeCollapse.call(_38)==false){
  271. return;
  272. }
  273. _3d.addClass("panel-tool-expand");
  274. if(_39==true){
  275. _3c.slideUp("normal",function(){
  276. _3a.collapsed=true;
  277. _3a.onCollapse.call(_38);
  278. });
  279. }else{
  280. _3c.hide();
  281. _3a.collapsed=true;
  282. _3a.onCollapse.call(_38);
  283. }
  284. };
  285. function _3e(_3f,_40){
  286. var _41=$.data(_3f,"panel").options;
  287. var _42=$.data(_3f,"panel").panel;
  288. var _43=_42.children("div.panel-body");
  289. var _44=_42.children("div.panel-header").find("a.panel-tool-collapse");
  290. if(_41.collapsed==false){
  291. return;
  292. }
  293. _43.stop(true,true);
  294. if(_41.onBeforeExpand.call(_3f)==false){
  295. return;
  296. }
  297. _44.removeClass("panel-tool-expand");
  298. if(_40==true){
  299. _43.slideDown("normal",function(){
  300. _41.collapsed=false;
  301. _41.onExpand.call(_3f);
  302. _1a(_3f);
  303. _25(_3f);
  304. });
  305. }else{
  306. _43.show();
  307. _41.collapsed=false;
  308. _41.onExpand.call(_3f);
  309. _1a(_3f);
  310. _25(_3f);
  311. }
  312. };
  313. function _2d(_45){
  314. var _46=$.data(_45,"panel").options;
  315. var _47=$.data(_45,"panel").panel;
  316. var _48=_47.children("div.panel-header").find("a.panel-tool-max");
  317. if(_46.maximized==true){
  318. return;
  319. }
  320. _48.addClass("panel-tool-restore");
  321. if(!$.data(_45,"panel").original){
  322. $.data(_45,"panel").original={width:_46.width,height:_46.height,left:_46.left,top:_46.top,fit:_46.fit};
  323. }
  324. _46.left=0;
  325. _46.top=0;
  326. _46.fit=true;
  327. _3(_45);
  328. _46.minimized=false;
  329. _46.maximized=true;
  330. _46.onMaximize.call(_45);
  331. };
  332. function _49(_4a){
  333. var _4b=$.data(_4a,"panel").options;
  334. var _4c=$.data(_4a,"panel").panel;
  335. _4c._fit(false);
  336. _4c.hide();
  337. _4b.minimized=true;
  338. _4b.maximized=false;
  339. _4b.onMinimize.call(_4a);
  340. };
  341. function _4d(_4e){
  342. var _4f=$.data(_4e,"panel").options;
  343. var _50=$.data(_4e,"panel").panel;
  344. var _51=_50.children("div.panel-header").find("a.panel-tool-max");
  345. if(_4f.maximized==false){
  346. return;
  347. }
  348. _50.show();
  349. _51.removeClass("panel-tool-restore");
  350. $.extend(_4f,$.data(_4e,"panel").original);
  351. _3(_4e);
  352. _4f.minimized=false;
  353. _4f.maximized=false;
  354. $.data(_4e,"panel").original=null;
  355. _4f.onRestore.call(_4e);
  356. };
  357. function _52(_53){
  358. var _54=$.data(_53,"panel").options;
  359. var _55=$.data(_53,"panel").panel;
  360. var _56=$(_53).panel("header");
  361. var _57=$(_53).panel("body");
  362. _55.css(_54.style);
  363. _55.addClass(_54.cls);
  364. if(_54.border){
  365. _56.removeClass("panel-header-noborder");
  366. _57.removeClass("panel-body-noborder");
  367. }else{
  368. _56.addClass("panel-header-noborder");
  369. _57.addClass("panel-body-noborder");
  370. }
  371. _56.addClass(_54.headerCls);
  372. _57.addClass(_54.bodyCls);
  373. if(_54.id){
  374. $(_53).attr("id",_54.id);
  375. }else{
  376. $(_53).attr("id","");
  377. }
  378. };
  379. function _58(_59,_5a){
  380. $.data(_59,"panel").options.title=_5a;
  381. $(_59).panel("header").find("div.panel-title").html(_5a);
  382. };
  383. var TO=false;
  384. var _5b=true;
  385. $(window).unbind(".panel").bind("resize.panel",function(){
  386. if(!_5b){
  387. return;
  388. }
  389. if(TO!==false){
  390. clearTimeout(TO);
  391. }
  392. TO=setTimeout(function(){
  393. _5b=false;
  394. var _5c=$("body.layout");
  395. if(_5c.length){
  396. _5c.layout("resize");
  397. }else{
  398. $("body").children("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible").triggerHandler("_resize");
  399. }
  400. _5b=true;
  401. TO=false;
  402. },200);
  403. });
  404. $.fn.panel=function(_5d,_5e){
  405. if(typeof _5d=="string"){
  406. return $.fn.panel.methods[_5d](this,_5e);
  407. }
  408. _5d=_5d||{};
  409. return this.each(function(){
  410. var _5f=$.data(this,"panel");
  411. var _60;
  412. if(_5f){
  413. _60=$.extend(_5f.options,_5d);
  414. _5f.isLoaded=false;
  415. }else{
  416. _60=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_5d);
  417. $(this).attr("title","");
  418. _5f=$.data(this,"panel",{options:_60,panel:_f(this),isLoaded:false});
  419. }
  420. _13(this);
  421. _52(this);
  422. if(_60.doSize==true){
  423. _5f.panel.css("display","block");
  424. _3(this);
  425. }
  426. if(_60.closed==true||_60.minimized==true){
  427. _5f.panel.hide();
  428. }else{
  429. _27(this);
  430. }
  431. });
  432. };
  433. $.fn.panel.methods={options:function(jq){
  434. return $.data(jq[0],"panel").options;
  435. },panel:function(jq){
  436. return $.data(jq[0],"panel").panel;
  437. },header:function(jq){
  438. return $.data(jq[0],"panel").panel.find(">div.panel-header");
  439. },body:function(jq){
  440. return $.data(jq[0],"panel").panel.find(">div.panel-body");
  441. },setTitle:function(jq,_61){
  442. return jq.each(function(){
  443. _58(this,_61);
  444. });
  445. },open:function(jq,_62){
  446. return jq.each(function(){
  447. _27(this,_62);
  448. });
  449. },close:function(jq,_63){
  450. return jq.each(function(){
  451. _19(this,_63);
  452. });
  453. },destroy:function(jq,_64){
  454. return jq.each(function(){
  455. _33(this,_64);
  456. });
  457. },refresh:function(jq,_65){
  458. return jq.each(function(){
  459. var _66=$.data(this,"panel");
  460. _66.isLoaded=false;
  461. if(_65){
  462. if(typeof _65=="string"){
  463. _66.options.href=_65;
  464. }else{
  465. _66.options.queryParams=_65;
  466. }
  467. }
  468. _1a(this);
  469. });
  470. },resize:function(jq,_67){
  471. return jq.each(function(){
  472. _3(this,_67);
  473. });
  474. },move:function(jq,_68){
  475. return jq.each(function(){
  476. _a(this,_68);
  477. });
  478. },maximize:function(jq){
  479. return jq.each(function(){
  480. _2d(this);
  481. });
  482. },minimize:function(jq){
  483. return jq.each(function(){
  484. _49(this);
  485. });
  486. },restore:function(jq){
  487. return jq.each(function(){
  488. _4d(this);
  489. });
  490. },collapse:function(jq,_69){
  491. return jq.each(function(){
  492. _2e(this,_69);
  493. });
  494. },expand:function(jq,_6a){
  495. return jq.each(function(){
  496. _3e(this,_6a);
  497. });
  498. }};
  499. $.fn.panel.parseOptions=function(_6b){
  500. var t=$(_6b);
  501. return $.extend({},$.parser.parseOptions(_6b,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"}]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined)});
  502. };
  503. $.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,tools:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_6c,_6d,_6e){
  504. var _6f=$(this).panel("options");
  505. if(!_6f.href){
  506. return false;
  507. }
  508. $.ajax({type:_6f.method,url:_6f.href,cache:false,data:_6c,dataType:"html",success:function(_70){
  509. _6d(_70);
  510. },error:function(){
  511. _6e.apply(this,arguments);
  512. }});
  513. },extractor:function(_71){
  514. var _72=/<body[^>]*>((.|[\n\r])*)<\/body>/im;
  515. var _73=_72.exec(_71);
  516. if(_73){
  517. return _73[1];
  518. }else{
  519. return _71;
  520. }
  521. },onBeforeLoad:function(_74){
  522. },onLoad:function(){
  523. },onLoadError:function(){
  524. },onBeforeOpen:function(){
  525. },onOpen:function(){
  526. },onBeforeClose:function(){
  527. },onClose:function(){
  528. },onBeforeDestroy:function(){
  529. },onDestroy:function(){
  530. },onResize:function(_75,_76){
  531. },onMove:function(_77,top){
  532. },onMaximize:function(){
  533. },onRestore:function(){
  534. },onMinimize:function(){
  535. },onBeforeCollapse:function(){
  536. },onBeforeExpand:function(){
  537. },onCollapse:function(){
  538. },onExpand:function(){
  539. }};
  540. })(jQuery);