jquery.dialog.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /**
  2. * jQuery EasyUI 1.3.4
  3. *
  4. * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the GPL or commercial licenses
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. * http://www.gnu.org/licenses/gpl.txt
  9. * http://www.jeasyui.com/license_commercial.php
  10. *
  11. */
  12. (function($){
  13. function _1(_2){
  14. var cp=document.createElement("div");
  15. while(_2.firstChild){
  16. cp.appendChild(_2.firstChild);
  17. }
  18. _2.appendChild(cp);
  19. var _3=$(cp);
  20. _3.attr("style",$(_2).attr("style"));
  21. $(_2).removeAttr("style").css("overflow","hidden");
  22. _3.panel({border:false,doSize:false,bodyCls:"dialog-content"});
  23. return _3;
  24. };
  25. function _4(_5){
  26. var _6=$.data(_5,"dialog").options;
  27. var _7=$.data(_5,"dialog").contentPanel;
  28. if(_6.toolbar){
  29. if($.isArray(_6.toolbar)){
  30. $(_5).find("div.dialog-toolbar").remove();
  31. var _8=$("<div class=\"dialog-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").prependTo(_5);
  32. var tr=_8.find("tr");
  33. for(var i=0;i<_6.toolbar.length;i++){
  34. var _9=_6.toolbar[i];
  35. if(_9=="-"){
  36. $("<td><div class=\"dialog-tool-separator\"></div></td>").appendTo(tr);
  37. }else{
  38. var td=$("<td></td>").appendTo(tr);
  39. var _a=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
  40. _a[0].onclick=eval(_9.handler||function(){
  41. });
  42. _a.linkbutton($.extend({},_9,{plain:true}));
  43. }
  44. }
  45. }else{
  46. $(_6.toolbar).addClass("dialog-toolbar").prependTo(_5);
  47. $(_6.toolbar).show();
  48. }
  49. }else{
  50. $(_5).find("div.dialog-toolbar").remove();
  51. }
  52. if(_6.buttons){
  53. if($.isArray(_6.buttons)){
  54. $(_5).find("div.dialog-button").remove();
  55. var _b=$("<div class=\"dialog-button\"></div>").appendTo(_5);
  56. for(var i=0;i<_6.buttons.length;i++){
  57. var p=_6.buttons[i];
  58. var _c=$("<a href=\"javascript:void(0)\"></a>").appendTo(_b);
  59. if(p.handler){
  60. _c[0].onclick=p.handler;
  61. }
  62. _c.linkbutton(p);
  63. }
  64. }else{
  65. $(_6.buttons).addClass("dialog-button").appendTo(_5);
  66. $(_6.buttons).show();
  67. }
  68. }else{
  69. $(_5).find("div.dialog-button").remove();
  70. }
  71. var _d=_6.href;
  72. var _e=_6.content;
  73. _6.href=null;
  74. _6.content=null;
  75. _7.panel({closed:_6.closed,cache:_6.cache,href:_d,content:_e,onLoad:function(){
  76. if(_6.height=="auto"){
  77. $(_5).window("resize");
  78. }
  79. _6.onLoad.apply(_5,arguments);
  80. }});
  81. $(_5).window($.extend({},_6,{onOpen:function(){
  82. if(_7.panel("options").closed){
  83. _7.panel("open");
  84. }
  85. if(_6.onOpen){
  86. _6.onOpen.call(_5);
  87. }
  88. },onResize:function(_f,_10){
  89. var _11=$(_5);
  90. _7.panel("panel").show();
  91. _7.panel("resize",{width:_11.width(),height:(_10=="auto")?"auto":_11.height()-_11.children("div.dialog-toolbar")._outerHeight()-_11.children("div.dialog-button")._outerHeight()});
  92. if(_6.onResize){
  93. _6.onResize.call(_5,_f,_10);
  94. }
  95. }}));
  96. _6.href=_d;
  97. _6.content=_e;
  98. };
  99. function _12(_13,_14){
  100. var _15=$.data(_13,"dialog").contentPanel;
  101. _15.panel("refresh",_14);
  102. };
  103. $.fn.dialog=function(_16,_17){
  104. if(typeof _16=="string"){
  105. var _18=$.fn.dialog.methods[_16];
  106. if(_18){
  107. return _18(this,_17);
  108. }else{
  109. return this.window(_16,_17);
  110. }
  111. }
  112. _16=_16||{};
  113. return this.each(function(){
  114. var _19=$.data(this,"dialog");
  115. if(_19){
  116. $.extend(_19.options,_16);
  117. }else{
  118. $.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_16),contentPanel:_1(this)});
  119. }
  120. _4(this);
  121. });
  122. };
  123. $.fn.dialog.methods={options:function(jq){
  124. var _1a=$.data(jq[0],"dialog").options;
  125. var _1b=jq.panel("options");
  126. $.extend(_1a,{closed:_1b.closed,collapsed:_1b.collapsed,minimized:_1b.minimized,maximized:_1b.maximized});
  127. var _1c=$.data(jq[0],"dialog").contentPanel;
  128. return _1a;
  129. },dialog:function(jq){
  130. return jq.window("window");
  131. },refresh:function(jq,_1d){
  132. return jq.each(function(){
  133. _12(this,_1d);
  134. });
  135. }};
  136. $.fn.dialog.parseOptions=function(_1e){
  137. return $.extend({},$.fn.window.parseOptions(_1e),$.parser.parseOptions(_1e,["toolbar","buttons"]));
  138. };
  139. $.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null});
  140. })(jQuery);