jquery.messager.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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(){
  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).window("close");
  16. });
  17. }else{
  18. if(e.keyCode==9){
  19. var _2=$("body").children("div.messager-window").children("div.messager-body");
  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,showType:"slide",showSpeed:600,msg:"",timeout:4000},_6);
  39. var _8=$("<div class=\"messager-body\"></div>").html(_7.msg).appendTo("body");
  40. _8.window($.extend({},_7,{openAnimation:(_7.showType),closeAnimation:(_7.showType=="show"?"hide":_7.showType),openDuration:_7.showSpeed,closeDuration:_7.showSpeed,onOpen:function(){
  41. _8.window("window").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("window")){
  53. _8.window("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.window("destroy");
  73. }}));
  74. _8.window("window").css(_7.style);
  75. _8.window("open");
  76. return _8;
  77. };
  78. function _a(_b){
  79. _1();
  80. var _c=$("<div class=\"messager-body\"></div>").appendTo("body");
  81. _c.window($.extend({},_b,{doSize:false,noheader:(_b.title?false:true),onClose:function(){
  82. _4();
  83. if(_b.onClose){
  84. _b.onClose.call(this);
  85. }
  86. setTimeout(function(){
  87. _c.window("destroy");
  88. },100);
  89. }}));
  90. if(_b.buttons&&_b.buttons.length){
  91. var tb=$("<div class=\"messager-button\"></div>").appendTo(_c);
  92. $.map(_b.buttons,function(_d){
  93. $("<a href=\"javascript:void(0)\" style=\"margin-left:10px\"></a>").appendTo(tb).linkbutton(_d);
  94. });
  95. }
  96. _c.window("window").addClass("messager-window");
  97. _c.window("resize");
  98. _c.children("div.messager-button").children("a:first").focus();
  99. return _c;
  100. };
  101. $.messager={show:function(_e){
  102. return _5(_e);
  103. },alert:function(_f,msg,_10,fn){
  104. var _11=typeof _f=="object"?_f:{title:_f,msg:msg,icon:_10,fn:fn};
  105. var cls=_11.icon?"messager-icon messager-"+_11.icon:"";
  106. _11=$.extend({},$.messager.defaults,{content:"<div class=\""+cls+"\"></div>"+"<div>"+_11.msg+"</div>"+"<div style=\"clear:both;\"/>",buttons:[{text:$.messager.defaults.ok,onClick:function(){
  107. win.window("close");
  108. _11.fn();
  109. }}]},_11);
  110. var win=_a(_11);
  111. return win;
  112. },confirm:function(_12,msg,fn){
  113. var _13=typeof _12=="object"?_12:{title:_12,msg:msg,fn:fn};
  114. _13=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+_13.msg+"</div>"+"<div style=\"clear:both;\"/>",buttons:[{text:$.messager.defaults.ok,onClick:function(){
  115. win.window("close");
  116. _13.fn(true);
  117. }},{text:$.messager.defaults.cancel,onClick:function(){
  118. win.window("close");
  119. _13.fn(false);
  120. }}]},_13);
  121. var win=_a(_13);
  122. return win;
  123. },prompt:function(_14,msg,fn){
  124. var _15=typeof _14=="object"?_14:{title:_14,msg:msg,fn:fn};
  125. _15=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+_15.msg+"</div>"+"<br/>"+"<div style=\"clear:both;\"/>"+"<div><input class=\"messager-input\" type=\"text\"/></div>",buttons:[{text:$.messager.defaults.ok,onClick:function(){
  126. win.window("close");
  127. _15.fn(win.find(".messager-input").val());
  128. }},{text:$.messager.defaults.cancel,onClick:function(){
  129. win.window("close");
  130. _15.fn();
  131. }}]},_15);
  132. var win=_a(_15);
  133. win.find("input.messager-input").focus();
  134. return win;
  135. },progress:function(_16){
  136. var _17={bar:function(){
  137. return $("body>div.messager-window").find("div.messager-p-bar");
  138. },close:function(){
  139. var win=$("body>div.messager-window>div.messager-body:has(div.messager-progress)");
  140. if(win.length){
  141. win.window("close");
  142. }
  143. }};
  144. if(typeof _16=="string"){
  145. var _18=_17[_16];
  146. return _18();
  147. }
  148. var _19=$.extend({},{title:"",content:undefined,msg:"",text:undefined,interval:300},_16||{});
  149. var win=_a($.extend({},$.messager.defaults,{content:"<div class=\"messager-progress\"><div class=\"messager-p-msg\">"+_19.msg+"</div><div class=\"messager-p-bar\"></div></div>",closable:false,doSize:false},_19,{onClose:function(){
  150. if(this.timer){
  151. clearInterval(this.timer);
  152. }
  153. if(_16.onClose){
  154. _16.onClose.call(this);
  155. }else{
  156. $.messager.defaults.onClose.call(this);
  157. }
  158. }}));
  159. var bar=win.find("div.messager-p-bar");
  160. bar.progressbar({text:_19.text});
  161. win.window("resize");
  162. if(_19.interval){
  163. win[0].timer=setInterval(function(){
  164. var v=bar.progressbar("getValue");
  165. v+=10;
  166. if(v>100){
  167. v=0;
  168. }
  169. bar.progressbar("setValue",v);
  170. },_19.interval);
  171. }
  172. return win;
  173. }};
  174. $.messager.defaults=$.extend({},$.fn.window.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){
  175. }});
  176. })(jQuery);