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.min.js 6.2 KiB

13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
13 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * lib/js/wn/ui/toolbar/selector_dialog.js
  3. */
  4. wn.provide('wn.ui.toolbar');wn.ui.toolbar.SelectorDialog=Class.extend({init:function(opts){this.opts=opts;try{this.make_dialog();}catch(e){console.log(e);}
  5. this.bind_events();},make_dialog:function(){this.dialog=new wn.widgets.Dialog({title:this.opts.title,width:300,fields:[{fieldtype:'Select',fieldname:'doctype',options:'Select...',label:'Select Type'},{fieldtype:'Button',label:'Go',fieldname:'go'}]});},bind_events:function(){var me=this;$(this.dialog.fields_dict.go.input).click(function(){if(!me.dialog.display)return;me.dialog.hide();me.opts.execute(me.dialog.fields_dict.doctype.get_value());});$(this.dialog.fields_dict.doctype.input).change(function(){me.dialog.fields_dict.go.input.click();}).keypress(function(ev){if(ev.which==13){me.dialog.fields_dict.go.input.click();}});},show:function(){this.dialog.show();this.dialog.fields_dict.doctype.input.focus();return false;},set_values:function(lst){for(var i=0;i<lst.length;i++)
  6. lst[i]=get_doctype_label(lst[i]);var sel=this.dialog.fields_dict.doctype.input;$(sel).empty();add_sel_options(sel,lst.sort());}})
  7. /*
  8. * lib/js/wn/ui/toolbar/new.js
  9. */
  10. wn.ui.toolbar.NewDialog=wn.ui.toolbar.SelectorDialog.extend({init:function(){this._super({title:"New Record",execute:function(val){new_doc(val);},});this.set_values(profile.can_create.join(',').split(','));}});
  11. /*
  12. * lib/js/wn/ui/toolbar/search.js
  13. */
  14. wn.ui.toolbar.Search=wn.ui.toolbar.SelectorDialog.extend({init:function(){this._super({title:"Search",execute:function(val){new wn.ui.Search({doctype:val});},});this.set_values(wn.boot.profile.can_search.join(',').split(','));makeselector();}});
  15. /*
  16. * lib/js/wn/ui/toolbar/report.js
  17. */
  18. wn.ui.toolbar.Report=wn.ui.toolbar.SelectorDialog.extend({init:function(){this._super({title:"Start Report For",execute:function(val){wn.set_route('Report2',val);},});this.set_values(profile.can_get_report.join(',').split(','));}});
  19. /*
  20. * lib/js/wn/ui/toolbar/recent.js
  21. */
  22. wn.ui.toolbar.RecentDocs=Class.extend({init:function(){$('.navbar .nav:first').append('<li class="dropdown">\
  23. <a class="dropdown-toggle" data-toggle="dropdown" href="#" \
  24. onclick="return false;">Recent<b class="caret"></b></a>\
  25. <ul class="dropdown-menu" id="toolbar-recent"></ul>\
  26. </li>');this.setup();this.bind_events();},bind_events:function(){var me=this;$(document).bind('rename',function(event,dt,old_name,new_name){me.rename_notify(dt,old_name,new_name)});},rename_notify:function(dt,old,name){this.remove(dt,old);this.add(dt,name,1);},add:function(dt,dn,on_top){if(this.istable(dt))return;this.remove(dt,dn);var html=repl('<li data-docref="%(dt)s/%(dn)s">\
  27. <a href="#Form/%(dt)s/%(dn)s">\
  28. %(dn)s <span style="font-size: 10px">(%(dt)s)</span>\
  29. </a></li>',{dt:dt,dn:dn});if(on_top){$('#toolbar-recent').prepend(html);}else{$('#toolbar-recent').append(html);}},istable:function(dt){return locals.DocType[dt]&&locals.DocType[dt].istable||false;},remove:function(dt,dn){$(repl('#toolbar-recent li[data-docref="%(dt)s/%(dn)s"]',{dt:dt,dn:dn})).remove();},setup:function(){var rlist=JSON.parse(profile.recent||"[]");var m=rlist.length;if(m>15)m=15;for(var i=0;i<m;i++){var rd=rlist[i]
  30. if(rd[1]){var dt=rd[0];var dn=rd[1];this.add(dt,dn,0);}}}});
  31. /*
  32. * lib/js/wn/ui/toolbar/toolbar.js
  33. */
  34. wn.ui.toolbar.Toolbar=Class.extend({init:function(){this.make();this.make_home();this.make_document();wn.ui.toolbar.recent=new wn.ui.toolbar.RecentDocs();this.make_tools();this.set_user_name();this.make_logout();$('.dropdown-toggle').dropdown();$(document).trigger('toolbar_setup');},make:function(){$('header').append('<div class="navbar navbar-fixed-top">\
  35. <div class="navbar-inner">\
  36. <div class="container">\
  37. <a class="brand"></a>\
  38. <ul class="nav">\
  39. </ul>\
  40. <img src="images/lib/ui/spinner.gif" id="spinner"/>\
  41. <ul class="nav pull-right">\
  42. <li class="dropdown">\
  43. <a class="dropdown-toggle" data-toggle="dropdown" href="#" \
  44. onclick="return false;" id="toolbar-user-link"></a>\
  45. <ul class="dropdown-menu" id="toolbar-user">\
  46. </ul>\
  47. </li>\
  48. </ul>\
  49. </div>\
  50. </div>\
  51. </div>');},make_home:function(){$('.navbar .brand').attr('href',"#");},make_document:function(){wn.ui.toolbar.new_dialog=new wn.ui.toolbar.NewDialog();wn.ui.toolbar.search=new wn.ui.toolbar.Search();wn.ui.toolbar.report=new wn.ui.toolbar.Report();$('.navbar .nav:first').append('<li class="dropdown">\
  52. <a class="dropdown-toggle" href="#" data-toggle="dropdown"\
  53. onclick="return false;">Document<b class="caret"></b></a>\
  54. <ul class="dropdown-menu" id="toolbar-document">\
  55. <li><a href="#" onclick="return wn.ui.toolbar.new_dialog.show();">\
  56. <i class="icon-plus"></i> New</a></li>\
  57. <li><a href="#" onclick="return wn.ui.toolbar.search.show();">\
  58. <i class="icon-search"></i> Search</a></li>\
  59. <li><a href="#" onclick="return wn.ui.toolbar.report.show();">\
  60. <i class="icon-list"></i> Report</a></li>\
  61. </ul>\
  62. </li>');},make_tools:function(){$('.navbar .nav:first').append('<li class="dropdown">\
  63. <a class="dropdown-toggle" data-toggle="dropdown" href="#" \
  64. onclick="return false;">Tools<b class="caret"></b></a>\
  65. <ul class="dropdown-menu" id="toolbar-tools">\
  66. <li><a href="#" onclick="return wn.ui.toolbar.clear_cache();">Clear Cache & Refresh</a></li>\
  67. <li><a href="#" onclick="return wn.ui.toolbar.show_about();">About</a></li>\
  68. </ul>\
  69. </li>');if(has_common(user_roles,['Administrator','System Manager'])){$('#toolbar-tools').append('<li><a href="#" \
  70. onclick="return wn.ui.toolbar.download_backup();">\
  71. Download Backup</a></li>');}},set_user_name:function(){var fn=user_fullname;if(fn.length>15)fn=fn.substr(0,12)+'...';$('#toolbar-user-link').html(fn+'<b class="caret"></b>');},make_logout:function(){$('#toolbar-user').append('<li><a href="#" onclick="return wn.app.logout();">Logout</a></li>');}});wn.ui.toolbar.clear_cache=function(){localStorage&&localStorage.clear();$c('webnotes.session_cache.clear',{},function(r,rt){if(!r.exc){show_alert(r.message);location.reload();}});return false;}
  72. wn.ui.toolbar.download_backup=function(){$c('webnotes.utils.backups.get_backup',{},function(r,rt){});return false;}
  73. wn.ui.toolbar.show_about=function(){try{wn.ui.misc.about();}catch(e){console.log(e);}
  74. return false;}