jquery.messager.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. /**
  2. * jQuery EasyUI 1.4.4
  3. *
  4. * Copyright (c) 2009-2015 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(){
  12. $(document).unbind(".messager").bind("keydown.messager",function(e){
  13. if(e.keyCode==27){
  14. $("body").children("div.messager-window").children("div.messager-body").each(function(){
  15. $(this).dialog("close");
  16. });
  17. }else{
  18. if(e.keyCode==9){
  19. var _2=$("body").children("div.messager-window");
  20. if(!_2.length){
  21. return;
  22. }
  23. var _3=_2.find(".messager-input,.messager-button .l-btn");
  24. for(var i=0;i<_3.length;i++){
  25. if($(_3[i]).is(":focus")){
  26. $(_3[i>=_3.length-1?0:i+1]).focus();
  27. return false;
  28. }
  29. }
  30. }
  31. }
  32. });
  33. };
  34. function _4(){
  35. $(document).unbind(".messager");
  36. };
  37. function _5(_6){
  38. var _7=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:250,height:100,minHeight:0,showType:"slide",showSpeed:600,content:_6.msg,timeout:4000},_6);
  39. var _8=$("<div class=\"messager-body\"></div>").appendTo("body");
  40. _8.dialog($.extend({},_7,{noheader:(_7.title?false:true),openAnimation:(_7.showType),closeAnimation:(_7.showType=="show"?"hide":_7.showType),openDuration:_7.showSpeed,closeDuration:_7.showSpeed,onOpen:function(){
  41. _8.dialog("dialog").hover(function(){
  42. if(_7.timer){
  43. clearTimeout(_7.timer);
  44. }
  45. },function(){
  46. _9();
  47. });
  48. _9();
  49. function _9(){
  50. if(_7.timeout>0){
  51. _7.timer=setTimeout(function(){
  52. if(_8.length&&_8.data("dialog")){
  53. _8.dialog("close");
  54. }
  55. },_7.timeout);
  56. }
  57. };
  58. if(_6.onOpen){
  59. _6.onOpen.call(this);
  60. }else{
  61. _7.onOpen.call(this);
  62. }
  63. },onClose:function(){
  64. if(_7.timer){
  65. clearTimeout(_7.timer);
  66. }
  67. if(_6.onClose){
  68. _6.onClose.call(this);
  69. }else{
  70. _7.onClose.call(this);
  71. }
  72. _8.dialog("destroy");
  73. }}));
  74. _8.dialog("dialog").css(_7.style);
  75. _8.dialog("open");
  76. return _8;
  77. };
  78. function _a(_b){
  79. _1();
  80. var _c=$("<div class=\"messager-body\"></div>").appendTo("body");
  81. _c.dialog($.extend({},_b,{noheader:(_b.title?false:true),onClose:function(){
  82. _4();
  83. if(_b.onClose){
  84. _b.onClose.call(this);
  85. }
  86. setTimeout(function(){
  87. _c.dialog("destroy");
  88. },100);
  89. }}));
  90. var _d=_c.dialog("dialog").addClass("messager-window");
  91. _d.find(".dialog-button").addClass("messager-button").find("a:first").focus();
  92. return _c;
  93. };
  94. function _e(_f,_10){
  95. _f.dialog("close");
  96. _f.dialog("options").fn(_10);
  97. };
  98. $.messager={show:function(_11){
  99. return _5(_11);
  100. },alert:function(_12,msg,_13,fn){
  101. var _14=typeof _12=="object"?_12:{title:_12,msg:msg,icon:_13,fn:fn};
  102. var cls=_14.icon?"messager-icon messager-"+_14.icon:"";
  103. _14=$.extend({},$.messager.defaults,{content:"<div class=\""+cls+"\"></div>"+"<div>"+_14.msg+"</div>"+"<div style=\"clear:both;\"/>"},_14);
  104. if(!_14.buttons){
  105. _14.buttons=[{text:_14.ok,onClick:function(){
  106. _e(dlg);
  107. }}];
  108. }
  109. var dlg=_a(_14);
  110. return dlg;
  111. },confirm:function(_15,msg,fn){
  112. var _16=typeof _15=="object"?_15:{title:_15,msg:msg,fn:fn};
  113. _16=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+_16.msg+"</div>"+"<div style=\"clear:both;\"/>"},_16);
  114. if(!_16.buttons){
  115. _16.buttons=[{text:_16.ok,onClick:function(){
  116. _e(dlg,true);
  117. }},{text:_16.cancel,onClick:function(){
  118. _e(dlg,false);
  119. }}];
  120. }
  121. var dlg=_a(_16);
  122. return dlg;
  123. },prompt:function(_17,msg,fn){
  124. var _18=typeof _17=="object"?_17:{title:_17,msg:msg,fn:fn};
  125. _18=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+_18.msg+"</div>"+"<br/>"+"<div style=\"clear:both;\"/>"+"<div><input class=\"messager-input\" type=\"text\"/></div>"},_18);
  126. if(!_18.buttons){
  127. _18.buttons=[{text:_18.ok,onClick:function(){
  128. _e(dlg,dlg.find(".messager-input").val());
  129. }},{text:_18.cancel,onClick:function(){
  130. _e(dlg);
  131. }}];
  132. }
  133. var dlg=_a(_18);
  134. dlg.find("input.messager-input").focus();
  135. return dlg;
  136. },progress:function(_19){
  137. var _1a={bar:function(){
  138. return $("body>div.messager-window").find("div.messager-p-bar");
  139. },close:function(){
  140. var dlg=$("body>div.messager-window>div.messager-body:has(div.messager-progress)");
  141. if(dlg.length){
  142. dlg.dialog("close");
  143. }
  144. }};
  145. if(typeof _19=="string"){
  146. var _1b=_1a[_19];
  147. return _1b();
  148. }
  149. _19=_19||{};
  150. var _1c=$.extend({},{title:"",minHeight:0,content:undefined,msg:"",text:undefined,interval:300},_19);
  151. var dlg=_a($.extend({},$.messager.defaults,{content:"<div class=\"messager-progress\"><div class=\"messager-p-msg\">"+_1c.msg+"</div><div class=\"messager-p-bar\"></div></div>",closable:false,doSize:false},_1c,{onClose:function(){
  152. if(this.timer){
  153. clearInterval(this.timer);
  154. }
  155. if(_19.onClose){
  156. _19.onClose.call(this);
  157. }else{
  158. $.messager.defaults.onClose.call(this);
  159. }
  160. }}));
  161. var bar=dlg.find("div.messager-p-bar");
  162. bar.progressbar({text:_1c.text});
  163. dlg.dialog("resize");
  164. if(_1c.interval){
  165. dlg[0].timer=setInterval(function(){
  166. var v=bar.progressbar("getValue");
  167. v+=10;
  168. if(v>100){
  169. v=0;
  170. }
  171. bar.progressbar("setValue",v);
  172. },_1c.interval);
  173. }
  174. return dlg;
  175. }};
  176. $.messager.defaults=$.extend({},$.fn.dialog.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",minHeight:150,modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){
  177. }});
  178. })(jQuery);