// requires // menu.js // search.js // datatype.js // dom.js var about_dialog; function WNToolbar(parent) { var me = this; this.setup = function() { this.wrapper = $a(parent, 'div', '', {color:'#FFF', padding:'2px 0px' }); set_gradient(this.wrapper, '#444', '#000'); this.table_wrapper = $a(this.wrapper, 'div', '', {marginLeft:'4px', padding:'2px'}); this.body_tab = make_table(this.table_wrapper, 1, 3, '100%', ['0%','64%','36%'],{verticalAlign:'middle'}); this.menu = new MenuToolbar($td(this.body_tab,0,1)); this.setup_home(); this.setup_new(); this.setup_search(); this.setup_recent(); if(in_list(user_roles, 'Administrator')) this.setup_options(); this.setup_help(); this.setup_report_builder(); this.setup_logout(); } // Options // ---------------------------------------------------------------------------------------- this.setup_options = function() { var tm = this.menu.add_top_menu('Pages', function() { }, "sprite-pages"); var fn = function() { if(this.dt=='Page') loadpage(this.dn); else loaddoc(this.dt, this.dn); mclose(); } // add start items 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 mi = this.menu.add_item('Pages',d[1], fn); mi.dt = d[0]; mi.dn = d[5]?d[5]:d[1]; } } // Home // ---------------------------------------------------------------------------------------- this.setup_home = function() { me.menu.add_top_menu('Home', function() { loadpage(home_page); }, "sprite-home"); } // Recent // ---------------------------------------------------------------------------------------- this.setup_recent = function() { this.rdocs = me.menu.add_top_menu('Recent', function() { }, "sprite-recent"); this.rdocs.items = {}; var fn = function() { // recent is only for forms loaddoc(this.dt, this.dn); mclose(); } // add to recent this.rdocs.add = function(dt, dn, on_top) { var has_parent = false; if(locals[dt] && locals[dt][dn] && locals[dt][dn].parent) has_parent = true; if(!in_list(['Start Page','ToDo Item','Event','Search Criteria'], dt) && !has_parent) { // if there in list, only bring it to top if(this.items[dt+'-'+dn]) { var mi = this.items[dt+'-'+dn]; mi.bring_to_top(); return; } var tdn = dn; var rec_label = '
' +' | '+tdn+' | ' +''+get_doctype_label(dt)+' |