選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

82 行
6.7 KiB

  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){selector.set_search(val);selector.show();},});this.set_values(profile.can_read.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){loadreport(val,null,null,null,1);},});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(){rename_observers.push(this);},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(){try{var rlist=JSON.parse(profile.recent);}
  30. catch(e){return;}
  31. var m=rlist.length;if(m>15)m=15;for(var i=0;i<m;i++){var rd=rlist[i]
  32. if(rd[1]){var dt=rd[0];var dn=rd[1];this.add(dt,dn,0);}}}});
  33. /*
  34. * lib/js/wn/ui/toolbar/toolbar.js
  35. */
  36. 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();if(in_list(user_roles,'Administrator'))
  37. this.make_options();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">\
  38. <div class="navbar-inner">\
  39. <div class="container">\
  40. <a class="brand"></a>\
  41. <ul class="nav">\
  42. </ul>\
  43. <img src="lib/images/ui/spinner.gif" id="spinner"/>\
  44. <ul class="nav pull-right">\
  45. <li class="dropdown">\
  46. <a class="dropdown-toggle" data-toggle="dropdown" href="#" \
  47. onclick="return false;" id="toolbar-user-link"></a>\
  48. <ul class="dropdown-menu" id="toolbar-user">\
  49. </ul>\
  50. </li>\
  51. </ul>\
  52. </div>\
  53. </div>\
  54. </div>');},make_home:function(){$('.navbar .nav:first').append('<li><a href="#'+home_page+'">Home</a></li>')},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">\
  55. <a class="dropdown-toggle" href="#" data-toggle="dropdown"\
  56. onclick="return false;">Document<b class="caret"></b></a>\
  57. <ul class="dropdown-menu" id="toolbar-document">\
  58. <li><a href="#" onclick="return wn.ui.toolbar.new_dialog.show();">New</a></li>\
  59. <li><a href="#" onclick="return wn.ui.toolbar.search.show();">Search</a></li>\
  60. <li><a href="#" onclick="return wn.ui.toolbar.report.show();">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 err_console.show();">Error Console</a></li>\
  67. <li><a href="#" onclick="return wn.ui.toolbar.clear_cache();">Clear Cache</a></li>\
  68. <li><a href="#" onclick="return wn.ui.toolbar.show_about();">About</a></li>\
  69. </ul>\
  70. </li>');if(has_common(user_roles,['Administrator','System Manager'])){$('#toolbar-tools').append('<li><a href="#" \
  71. onclick="return wn.ui.toolbar.download_backup();">\
  72. Download Backup</a></li>');}},make_options:function(){$('.navbar .nav:first').append('<li class="dropdown">\
  73. <a class="dropdown-toggle" data-toggle="dropdown" \
  74. href="#" onclick="return false;">Options<b class="caret"></b></a>\
  75. <ul class="dropdown-menu" id="toolbar-options">\
  76. </ul>\
  77. </li>');profile.start_items.sort(function(a,b){return(a[4]-b[4])});for(var i=0;i<profile.start_items.length;i++){var d=profile.start_items[i];var ispage=d[0]=='Page';$('#toolbar-options').append(repl('<li><a href="#%(type)s%(dt)s%(dn)s">\
  78. %(dn)s</a></li>',{type:(ispage?'':'Form/'),dt:(ispage?'':(d[0]+'/')),dn:d[5]||d[1]}));}},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 logout();">Logout</a></li>');}});wn.ui.toolbar.clear_cache=function(){localStorage&&localStorage.clear();$c('webnotes.session_cache.clear',{},function(r,rt){show_alert(r.message);});return false;}
  79. wn.ui.toolbar.download_backup=function(){$c('webnotes.utils.backups.get_backup',{},function(r,rt){});return false;}
  80. wn.ui.toolbar.show_about=function(){try{wn.require('lib/js/wn/misc/about.js');wn.ui.misc.about();}catch(e){console.log(e);}
  81. return false;}