jquery.messager.js 5.3 KB

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