jquery.dialog.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /**
  2. * jQuery EasyUI 1.4.1
  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. 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. _a(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. _4.show();
  66. $(_2).window("resize");
  67. if(_3.closed){
  68. _4.hide();
  69. }
  70. };
  71. function _a(_b,_c){
  72. var t=$(_b);
  73. var _d=t.dialog("options");
  74. var _e=_d.noheader;
  75. var tb=t.siblings(".dialog-toolbar");
  76. var bb=t.siblings(".dialog-button");
  77. tb.insertBefore(_b).css({position:"relative",borderTopWidth:(_e?1:0),top:(_e?tb.length:0)});
  78. bb.insertAfter(_b).css({position:"relative",top:-1});
  79. if(!isNaN(parseInt(_d.height))){
  80. t._outerHeight(t._outerHeight()-tb._outerHeight()-bb._outerHeight());
  81. }
  82. tb.add(bb)._outerWidth(t._outerWidth());
  83. var _f=$.data(_b,"window").shadow;
  84. if(_f){
  85. var cc=t.panel("panel");
  86. _f.css({width:cc._outerWidth(),height:cc._outerHeight()});
  87. }
  88. };
  89. $.fn.dialog=function(_10,_11){
  90. if(typeof _10=="string"){
  91. var _12=$.fn.dialog.methods[_10];
  92. if(_12){
  93. return _12(this,_11);
  94. }else{
  95. return this.window(_10,_11);
  96. }
  97. }
  98. _10=_10||{};
  99. return this.each(function(){
  100. var _13=$.data(this,"dialog");
  101. if(_13){
  102. $.extend(_13.options,_10);
  103. }else{
  104. $.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_10)});
  105. }
  106. _1(this);
  107. });
  108. };
  109. $.fn.dialog.methods={options:function(jq){
  110. var _14=$.data(jq[0],"dialog").options;
  111. var _15=jq.panel("options");
  112. $.extend(_14,{width:_15.width,height:_15.height,left:_15.left,top:_15.top,closed:_15.closed,collapsed:_15.collapsed,minimized:_15.minimized,maximized:_15.maximized});
  113. return _14;
  114. },dialog:function(jq){
  115. return jq.window("window");
  116. }};
  117. $.fn.dialog.parseOptions=function(_16){
  118. return $.extend({},$.fn.window.parseOptions(_16),$.parser.parseOptions(_16,["toolbar","buttons"]));
  119. };
  120. $.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null});
  121. })(jQuery);