您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

95 行
2.2 KiB

  1. wn.provide("wn.messages")
  2. wn.messages.waiting = function(parent, msg, bar_percent) {
  3. if(!bar_percent) bar_percent = '100';
  4. return $(repl('<div class="well" style="width: 63%; margin: 30px auto;">\
  5. <p style="text-align: center;">%(msg)s</p>\
  6. <div class="progress progress-striped active">\
  7. <div class="bar" style="width: %(bar_percent)s%"></div></div>', {
  8. bar_percent: bar_percent,
  9. msg: msg
  10. }))
  11. .appendTo(parent);
  12. }
  13. wn.confirm = function(message, ifyes, ifno) {
  14. var d = msgprint("<p>" + message + "</p>\
  15. <p style='text-align: right'>\
  16. <button class='btn btn-small btn-info btn-yes'>Yes</button>\
  17. <button class='btn btn-small btn-no'>No</button>\
  18. </p>");
  19. $(d.wrapper).find(".btn-yes").click(function() {
  20. d.hide();
  21. ifyes && ifyes();
  22. });
  23. $(d.wrapper).find(".btn-no").click(function() {
  24. d.hide();
  25. ifno && ifno();
  26. });
  27. }
  28. var msg_dialog=null;
  29. function msgprint(msg, title) {
  30. if(!msg) return;
  31. if(msg instanceof Array) {
  32. $.each(msg, function(i,v) {
  33. if(v) {
  34. msgprint(v);
  35. }
  36. })
  37. return;
  38. }
  39. if(typeof(msg)!='string')
  40. msg = JSON.stringify(msg);
  41. // small message
  42. if(msg.substr(0,8)=='__small:') {
  43. show_alert(msg.substr(8)); return;
  44. }
  45. if(!msg_dialog) {
  46. msg_dialog = new wn.ui.Dialog({
  47. title:"Message",
  48. onhide: function() {
  49. msg_dialog.msg_area.empty();
  50. }
  51. });
  52. msg_dialog.msg_area = $('<div class="msgprint">')
  53. .appendTo(msg_dialog.body);
  54. }
  55. if(msg.search(/<br>|<p>|<li>/)==-1)
  56. msg = replace_newlines(msg);
  57. msg_dialog.set_title(title || 'Message')
  58. // append a <hr> if another msg already exists
  59. if(msg_dialog.msg_area.html()) msg_dialog.msg_area.append("<hr>");
  60. msg_dialog.msg_area.append(msg);
  61. msg_dialog.show();
  62. return msg_dialog;
  63. }
  64. // Floating Message
  65. function show_alert(txt, add_class) {
  66. if(!$('#dialog-container').length) {
  67. $('<div id="dialog-container">').appendTo('body');
  68. }
  69. if(!$('#alert-container').length) {
  70. $('<div id="alert-container"></div>').appendTo('#dialog-container');
  71. }
  72. var div = $('<div class="alert">\
  73. <a class="close">&times;</a>'+ txt +'</div>')
  74. .appendTo('#alert-container')
  75. div.find('.close').click(function() {
  76. $(this).parent().remove();
  77. return false;
  78. });
  79. div.delay(7000).fadeOut(500);
  80. return div;
  81. }