jquery.messager.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. /**
  2. * jQuery EasyUI 1.3.4
  3. *
  4. * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the GPL or commercial licenses
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. * http://www.gnu.org/licenses/gpl.txt
  9. * http://www.jeasyui.com/license_commercial.php
  10. *
  11. */
  12. (function($){
  13. function _1(el,_2,_3,_4){
  14. var _5=$(el).window("window");
  15. if(!_5){
  16. return;
  17. }
  18. switch(_2){
  19. case null:
  20. _5.show();
  21. break;
  22. case "slide":
  23. _5.slideDown(_3);
  24. break;
  25. case "fade":
  26. _5.fadeIn(_3);
  27. break;
  28. case "show":
  29. _5.show(_3);
  30. break;
  31. }
  32. var _6=null;
  33. if(_4>0){
  34. _6=setTimeout(function(){
  35. _7(el,_2,_3);
  36. },_4);
  37. }
  38. _5.hover(function(){
  39. if(_6){
  40. clearTimeout(_6);
  41. }
  42. },function(){
  43. if(_4>0){
  44. _6=setTimeout(function(){
  45. _7(el,_2,_3);
  46. },_4);
  47. }
  48. });
  49. };
  50. function _7(el,_8,_9){
  51. if(el.locked==true){
  52. return;
  53. }
  54. el.locked=true;
  55. var _a=$(el).window("window");
  56. if(!_a){
  57. return;
  58. }
  59. switch(_8){
  60. case null:
  61. _a.hide();
  62. break;
  63. case "slide":
  64. _a.slideUp(_9);
  65. break;
  66. case "fade":
  67. _a.fadeOut(_9);
  68. break;
  69. case "show":
  70. _a.hide(_9);
  71. break;
  72. }
  73. setTimeout(function(){
  74. $(el).window("destroy");
  75. },_9);
  76. };
  77. function _b(_c){
  78. var _d=$.extend({},$.fn.window.defaults,{collapsible:false,minimizable:false,maximizable: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},onBeforeOpen:function(){
  79. _1(this,_d.showType,_d.showSpeed,_d.timeout);
  80. return false;
  81. },onBeforeClose:function(){
  82. _7(this,_d.showType,_d.showSpeed);
  83. return false;
  84. }},{title:"",width:250,height:100,showType:"slide",showSpeed:600,msg:"",timeout:4000},_c);
  85. _d.style.zIndex=$.fn.window.defaults.zIndex++;
  86. var _e=$("<div class=\"messager-body\"></div>").html(_d.msg).appendTo("body");
  87. _e.window(_d);
  88. _e.window("window").css(_d.style);
  89. _e.window("open");
  90. return _e;
  91. };
  92. function _f(_10,_11,_12){
  93. var win=$("<div class=\"messager-body\"></div>").appendTo("body");
  94. win.append(_11);
  95. if(_12){
  96. var tb=$("<div class=\"messager-button\"></div>").appendTo(win);
  97. for(var _13 in _12){
  98. $("<a></a>").attr("href","javascript:void(0)").text(_13).css("margin-left",10).bind("click",eval(_12[_13])).appendTo(tb).linkbutton();
  99. }
  100. }
  101. win.window({title:_10,noheader:(_10?false:true),width:300,height:"auto",modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,onClose:function(){
  102. setTimeout(function(){
  103. win.window("destroy");
  104. },100);
  105. }});
  106. win.window("window").addClass("messager-window");
  107. win.children("div.messager-button").children("a:first").focus();
  108. return win;
  109. };
  110. $.messager={show:function(_14){
  111. return _b(_14);
  112. },alert:function(_15,msg,_16,fn){
  113. var _17="<div>"+msg+"</div>";
  114. switch(_16){
  115. case "error":
  116. _17="<div class=\"messager-icon messager-error\"></div>"+_17;
  117. break;
  118. case "info":
  119. _17="<div class=\"messager-icon messager-info\"></div>"+_17;
  120. break;
  121. case "question":
  122. _17="<div class=\"messager-icon messager-question\"></div>"+_17;
  123. break;
  124. case "warning":
  125. _17="<div class=\"messager-icon messager-warning\"></div>"+_17;
  126. break;
  127. }
  128. _17+="<div style=\"clear:both;\"/>";
  129. var _18={};
  130. _18[$.messager.defaults.ok]=function(){
  131. win.window("close");
  132. if(fn){
  133. fn();
  134. return false;
  135. }
  136. };
  137. var win=_f(_15,_17,_18);
  138. return win;
  139. },confirm:function(_19,msg,fn){
  140. var _1a="<div class=\"messager-icon messager-question\"></div>"+"<div>"+msg+"</div>"+"<div style=\"clear:both;\"/>";
  141. var _1b={};
  142. _1b[$.messager.defaults.ok]=function(){
  143. win.window("close");
  144. if(fn){
  145. fn(true);
  146. return false;
  147. }
  148. };
  149. _1b[$.messager.defaults.cancel]=function(){
  150. win.window("close");
  151. if(fn){
  152. fn(false);
  153. return false;
  154. }
  155. };
  156. var win=_f(_19,_1a,_1b);
  157. return win;
  158. },prompt:function(_1c,msg,fn){
  159. var _1d="<div class=\"messager-icon messager-question\"></div>"+"<div>"+msg+"</div>"+"<br/>"+"<div style=\"clear:both;\"/>"+"<div><input class=\"messager-input\" type=\"text\"/></div>";
  160. var _1e={};
  161. _1e[$.messager.defaults.ok]=function(){
  162. win.window("close");
  163. if(fn){
  164. fn($(".messager-input",win).val());
  165. return false;
  166. }
  167. };
  168. _1e[$.messager.defaults.cancel]=function(){
  169. win.window("close");
  170. if(fn){
  171. fn();
  172. return false;
  173. }
  174. };
  175. var win=_f(_1c,_1d,_1e);
  176. win.children("input.messager-input").focus();
  177. return win;
  178. },progress:function(_1f){
  179. var _20={bar:function(){
  180. return $("body>div.messager-window").find("div.messager-p-bar");
  181. },close:function(){
  182. var win=$("body>div.messager-window>div.messager-body:has(div.messager-progress)");
  183. if(win.length){
  184. win.window("close");
  185. }
  186. }};
  187. if(typeof _1f=="string"){
  188. var _21=_20[_1f];
  189. return _21();
  190. }
  191. var _22=$.extend({title:"",msg:"",text:undefined,interval:300},_1f||{});
  192. var _23="<div class=\"messager-progress\"><div class=\"messager-p-msg\"></div><div class=\"messager-p-bar\"></div></div>";
  193. var win=_f(_22.title,_23,null);
  194. win.find("div.messager-p-msg").html(_22.msg);
  195. var bar=win.find("div.messager-p-bar");
  196. bar.progressbar({text:_22.text});
  197. win.window({closable:false,onClose:function(){
  198. if(this.timer){
  199. clearInterval(this.timer);
  200. }
  201. $(this).window("destroy");
  202. }});
  203. if(_22.interval){
  204. win[0].timer=setInterval(function(){
  205. var v=bar.progressbar("getValue");
  206. v+=10;
  207. if(v>100){
  208. v=0;
  209. }
  210. bar.progressbar("setValue",v);
  211. },_22.interval);
  212. }
  213. return win;
  214. }};
  215. $.messager.defaults={ok:"Ok",cancel:"Cancel"};
  216. })(jQuery);