jquery.dialog.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /**
  2. * jQuery EasyUI 1.4.3
  3. *
  4. * Copyright (c) 2009-2015 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. function _1(_2){
  12. var _3=$.data(_2,"dialog").options;
  13. _3.inited=false;
  14. $(_2).window($.extend({},_3,{onResize:function(w,h){
  15. if(_3.inited){
  16. _b(this);
  17. _3.onResize.call(this,w,h);
  18. }
  19. }}));
  20. var _4=$(_2).window("window");
  21. if(_3.toolbar){
  22. if($.isArray(_3.toolbar)){
  23. $(_2).siblings("div.dialog-toolbar").remove();
  24. var _5=$("<div class=\"dialog-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").appendTo(_4);
  25. var tr=_5.find("tr");
  26. for(var i=0;i<_3.toolbar.length;i++){
  27. var _6=_3.toolbar[i];
  28. if(_6=="-"){
  29. $("<td><div class=\"dialog-tool-separator\"></div></td>").appendTo(tr);
  30. }else{
  31. var td=$("<td></td>").appendTo(tr);
  32. var _7=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
  33. _7[0].onclick=eval(_6.handler||function(){
  34. });
  35. _7.linkbutton($.extend({},_6,{plain:true}));
  36. }
  37. }
  38. }else{
  39. $(_3.toolbar).addClass("dialog-toolbar").appendTo(_4);
  40. $(_3.toolbar).show();
  41. }
  42. }else{
  43. $(_2).siblings("div.dialog-toolbar").remove();
  44. }
  45. if(_3.buttons){
  46. if($.isArray(_3.buttons)){
  47. $(_2).siblings("div.dialog-button").remove();
  48. var _8=$("<div class=\"dialog-button\"></div>").appendTo(_4);
  49. for(var i=0;i<_3.buttons.length;i++){
  50. var p=_3.buttons[i];
  51. var _9=$("<a href=\"javascript:void(0)\"></a>").appendTo(_8);
  52. if(p.handler){
  53. _9[0].onclick=p.handler;
  54. }
  55. _9.linkbutton(p);
  56. }
  57. }else{
  58. $(_3.buttons).addClass("dialog-button").appendTo(_4);
  59. $(_3.buttons).show();
  60. }
  61. }else{
  62. $(_2).siblings("div.dialog-button").remove();
  63. }
  64. _3.inited=true;
  65. var _a=_3.closed;
  66. _4.show();
  67. $(_2).window("resize");
  68. if(_a){
  69. _4.hide();
  70. }
  71. };
  72. function _b(_c,_d){
  73. var t=$(_c);
  74. var _e=t.dialog("options");
  75. var _f=_e.noheader;
  76. var tb=t.siblings(".dialog-toolbar");
  77. var bb=t.siblings(".dialog-button");
  78. tb.insertBefore(_c).css({position:"relative",borderTopWidth:(_f?1:0),top:(_f?tb.length:0)});
  79. bb.insertAfter(_c).css({position:"relative",top:-1});
  80. tb.add(bb)._outerWidth(t._outerWidth()).find(".easyui-fluid:visible").each(function(){
  81. $(this).triggerHandler("_resize");
  82. });
  83. if(!isNaN(parseInt(_e.height))){
  84. t._outerHeight(t._outerHeight()-tb._outerHeight()-bb._outerHeight());
  85. }
  86. var _10=$.data(_c,"window").shadow;
  87. if(_10){
  88. var cc=t.panel("panel");
  89. _10.css({width:cc._outerWidth(),height:cc._outerHeight()});
  90. }
  91. };
  92. $.fn.dialog=function(_11,_12){
  93. if(typeof _11=="string"){
  94. var _13=$.fn.dialog.methods[_11];
  95. if(_13){
  96. return _13(this,_12);
  97. }else{
  98. return this.window(_11,_12);
  99. }
  100. }
  101. _11=_11||{};
  102. return this.each(function(){
  103. var _14=$.data(this,"dialog");
  104. if(_14){
  105. $.extend(_14.options,_11);
  106. }else{
  107. $.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_11)});
  108. }
  109. _1(this);
  110. });
  111. };
  112. $.fn.dialog.methods={options:function(jq){
  113. var _15=$.data(jq[0],"dialog").options;
  114. var _16=jq.panel("options");
  115. $.extend(_15,{width:_16.width,height:_16.height,left:_16.left,top:_16.top,closed:_16.closed,collapsed:_16.collapsed,minimized:_16.minimized,maximized:_16.maximized});
  116. return _15;
  117. },dialog:function(jq){
  118. return jq.window("window");
  119. }};
  120. $.fn.dialog.parseOptions=function(_17){
  121. var t=$(_17);
  122. return $.extend({},$.fn.window.parseOptions(_17),$.parser.parseOptions(_17,["toolbar","buttons"]),{toolbar:(t.children(".dialog-toolbar").length?t.children(".dialog-toolbar").removeClass("dialog-toolbar"):undefined),buttons:(t.children(".dialog-button").length?t.children(".dialog-button").removeClass("dialog-button"):undefined)});
  123. };
  124. $.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null});
  125. })(jQuery);