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();
}