Ensure that browser should warn before close or refresh. Fixes #3849

This commit is contained in:
Aditya Toshniwal
2019-01-23 11:57:36 +05:30
committed by Akshay Joshi
parent e27c2c421e
commit fcfe0929d3
5 changed files with 75 additions and 40 deletions

View File

@@ -1991,10 +1991,18 @@ define('pgadmin.browser', [
pgAdmin.Browser.editor_shortcut_keys.Tab = 'insertSoftTab';
}
$(window).on('beforeunload', function() {
let pref = pgBrowser.get_preference('browser', 'browser_tree_state_save_interval');
if (!_.isUndefined(pref) && pref.value !== -1)
$(window).on('beforeunload', function(e) {
let tree_save_interval = pgBrowser.get_preference('browser', 'browser_tree_state_save_interval'),
confirm_on_refresh_close = pgBrowser.get_preference('browser', 'confirm_on_refresh_close');
if (!_.isUndefined(tree_save_interval) && tree_save_interval.value !== -1)
pgAdmin.Browser.browserTreeState.save_state();
if(confirm_on_refresh_close.value) {
/* This message will not be displayed in Chrome, Firefox, Safari as they have disabled it*/
let msg = S(gettext('Are you sure you want to close the %s browser?')).sprintf(pgBrowser.utils.app_name).value();
e.originalEvent.returnValue = msg;
return msg;
}
});
return pgAdmin.Browser;