diff --git a/public/js/wn/app.js b/public/js/wn/app.js index cdca0cc0db..89f31fa0ad 100644 --- a/public/js/wn/app.js +++ b/public/js/wn/app.js @@ -53,14 +53,19 @@ wn.Application = Class.extend({ this.set_favicon(); if(user!="Guest") this.set_user_display_settings(); - - // trigger app startup - $(document).trigger('startup'); + this.setup_keyboard_shortcuts(); + + // control panel startup code + this.run_custom_startup_code(); + if(wn.boot) { // route to home page wn.route(); } + + // trigger app startup + $(document).trigger('startup'); this.start_notification_updates(); @@ -186,5 +191,26 @@ wn.Application = Class.extend({ var link = $('link[type="image/x-icon"]').remove().attr("href"); $('').appendTo("head") $('').appendTo("head") + }, + + setup_keyboard_shortcuts: function() { + $(document).keydown("meta+g ctrl+g", function(e) { + wn.ui.toolbar.search.show(); + return false; + }); + + $(document).keydown("meta+s ctrl+s", function(e) { + if(cur_frm) { + cur_frm.save_or_update(); + } + else if(wn.container.page.save_action) + wn.container.page.save_action(); + return false; + }); + }, + + run_custom_startup_code: function() { + if(wn.control_panel.custom_startup_code) + eval(wn.control_panel.custom_startup_code); } }) \ No newline at end of file diff --git a/public/js/wn/views/container.js b/public/js/wn/views/container.js index 40f203019c..b11307c35c 100644 --- a/public/js/wn/views/container.js +++ b/public/js/wn/views/container.js @@ -48,7 +48,7 @@ wn.views.Container = Class.extend({ } // hide dialog - if(cur_dialog && cur_dialog.display) { + if(cur_dialog && cur_dialog.display && !cur_dialog.keep_open) { cur_dialog.hide(); }