Ensure that confirmation dialog should be popped up before reload of query tool or debugger

if it is opened in a new browser tab. Fixes #4101
This commit is contained in:
Aditya Toshniwal
2019-04-18 15:39:36 +05:30
committed by Akshay Joshi
parent 4ac064de42
commit 49b318c39e
7 changed files with 52 additions and 20 deletions

View File

@@ -1945,12 +1945,17 @@ define('pgadmin.browser', [
}
$(window).on('beforeunload', function(e) {
/* Can open you in new tab */
let openerBrowser = window.opener ?
window.opener.pgAdmin.Browser : window.top.pgAdmin.Browser;
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');
confirm_on_refresh_close = openerBrowser.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) {
if(!_.isUndefined(confirm_on_refresh_close) && 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;