You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

toolbar.js 3.7 KiB

13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. wn.ui.toolbar.Toolbar = Class.extend({
  2. init: function() {
  3. this.make();
  4. this.make_home();
  5. this.make_new();
  6. this.make_search();
  7. this.make_report();
  8. wn.ui.toolbar.recent = new wn.ui.toolbar.RecentDocs();
  9. if(in_list(user_roles, 'Administrator'))
  10. this.make_options();
  11. this.make_tools();
  12. this.set_user_name();
  13. this.make_logout();
  14. $('.topbar').dropdown();
  15. $(document).trigger('toolbar_setup');
  16. },
  17. make: function() {
  18. $('header').append('<div class="topbar">\
  19. <div class="topbar-inner">\
  20. <div class="container">\
  21. <a class="brand"></a>\
  22. <ul class="nav">\
  23. </ul>\
  24. <img src="lib/images/ui/spinner.gif" id="spinner"/>\
  25. <ul class="nav secondary-nav">\
  26. <li class="dropdown">\
  27. <a class="dropdown-toggle" href="#" onclick="return false;" id="toolbar-user-link"></a>\
  28. <ul class="dropdown-menu" id="toolbar-user">\
  29. </ul>\
  30. </li>\
  31. </ul>\
  32. </div>\
  33. </div>\
  34. </div>');
  35. },
  36. make_home: function() {
  37. $('.topbar .nav:first').append('<li><a href="#'+home_page+'">Home</a></li>')
  38. },
  39. make_new: function() {
  40. wn.ui.toolbar.new_dialog = new wn.ui.toolbar.NewDialog();
  41. $('.topbar .nav:first').append('<li><a href="#" \
  42. onclick="return wn.ui.toolbar.new_dialog.show();">New</a></li>');
  43. },
  44. make_search: function() {
  45. wn.ui.toolbar.search = new wn.ui.toolbar.Search();
  46. $('.topbar .nav:first').append('<li><a href="#" \
  47. onclick="return wn.ui.toolbar.search.show();">Search</a></li>');
  48. },
  49. make_report: function() {
  50. wn.ui.toolbar.report = new wn.ui.toolbar.Report();
  51. $('.topbar .nav:first').append('<li><a href="#" \
  52. onclick="return wn.ui.toolbar.report.show();">Report</a></li>');
  53. },
  54. make_tools: function() {
  55. $('.topbar .nav:first').append('<li class="dropdown">\
  56. <a class="dropdown-toggle" href="#" onclick="return false;">Tools</a>\
  57. <ul class="dropdown-menu" id="toolbar-tools">\
  58. <li><a href="#" onclick="return err_console.show();">Error Console</a></li>\
  59. <li><a href="#" onclick="return wn.ui.toolbar.clear_cache();">Clear Cache</a></li>\
  60. <li><a href="#" onclick="return wn.ui.toolbar.show_about();">About</a></li>\
  61. </ul>\
  62. </li>');
  63. if(has_common(user_roles,['Administrator','System Manager'])) {
  64. $('#toolbar-tools').append('<li><a href="#" \
  65. onclick="return wn.ui.toolbar.download_backup();">\
  66. Download Backup</a></li>');
  67. }
  68. },
  69. make_options: function() {
  70. $('.topbar .nav:first').append('<li class="dropdown">\
  71. <a class="dropdown-toggle" href="#" onclick="return false;">Options</a>\
  72. <ul class="dropdown-menu" id="toolbar-options">\
  73. </ul>\
  74. </li>');
  75. profile.start_items.sort(function(a,b){return (a[4]-b[4])});
  76. for(var i=0;i< profile.start_items.length;i++) {
  77. var d = profile.start_items[i];
  78. var ispage = d[0]=='Page';
  79. $('#toolbar-options').append(repl('<li><a href="#%(type)s%(dt)s%(dn)s">\
  80. %(dn)s</a></li>', {
  81. type : (ispage ? '' : 'Form/'),
  82. dt : (ispage ? '' : (d[0] + '/')),
  83. dn : d[5] || d[1]
  84. }));
  85. }
  86. },
  87. set_user_name: function() {
  88. var fn = user_fullname;
  89. if(fn.length > 15) fn = fn.substr(0,12) + '...';
  90. $('#toolbar-user-link').html(fn);
  91. },
  92. make_logout: function() {
  93. // logout
  94. $('#toolbar-user').append('<li><a href="#" onclick="return logout();">Logout</a></li>');
  95. }
  96. });
  97. wn.ui.toolbar.clear_cache = function() {
  98. localStorage && localStorage.clear();
  99. $c('webnotes.session_cache.clear',{},function(r,rt){ show_alert(r.message); });
  100. return false;
  101. }
  102. wn.ui.toolbar.download_backup = function() {
  103. $c('webnotes.utils.backups.get_backup',{},function(r,rt) {});
  104. return false;
  105. }
  106. wn.ui.toolbar.show_about = function() {
  107. try {
  108. wn.require('lib/js/wn/misc/about.js');
  109. wn.ui.misc.about();
  110. } catch(e) {
  111. console.log(e);
  112. }
  113. return false;
  114. }