diff --git a/web/pgadmin/browser/static/js/browser.js b/web/pgadmin/browser/static/js/browser.js index 6be59dd9..ac7222ea 100644 --- a/web/pgadmin/browser/static/js/browser.js +++ b/web/pgadmin/browser/static/js/browser.js @@ -430,7 +430,7 @@ define('pgadmin.browser', [ // Stored layout in database from the previous session var layout = pgBrowser.utils.layout; - obj.restore_layout(obj.docker, layout, obj.buildDefaultLayout.bind(obj)); + obj.restore_layout(obj.docker, layout, obj.buildDefaultLayout.bind(obj), true); obj.docker.on(wcDocker.EVENT.LAYOUT_CHANGED, function() { obj.save_current_layout('Browser/Layout', obj.docker); diff --git a/web/pgadmin/browser/static/js/layout.js b/web/pgadmin/browser/static/js/layout.js index 90929d42..6fa19e47 100644 --- a/web/pgadmin/browser/static/js/layout.js +++ b/web/pgadmin/browser/static/js/layout.js @@ -56,30 +56,23 @@ _.extend(pgBrowser, { } }, - restore_layout: function(docker, layout, defaultLayoutCallback) { + restore_layout: function(docker, layout, defaultLayoutCallback, checkLayout= false) { // Try to restore the layout if there is one if (layout != '') { try { docker.restore(layout); - // Check restore layout is restored pgAdmin 4 layout successfully if not then reset layout to default pgAdmin 4 layout. - var reset_layout_to_default = true; - for (const [key, value] of Object.entries(this.panels)) { - if(value.name !== 'browser' || key !== 'browser') { - var _panel = docker.findPanels(value.name); - if(_panel.length > 0){ - reset_layout_to_default = false; - break; + if(checkLayout) { + // Check restore layout is restored pgAdmin 4 layout successfully if not then reset layout to default pgAdmin 4 layout. + var _panel = docker.findPanels('properties'); + if(_panel.length == 0 && defaultLayoutCallback){ + // clear the wcDocker before reset layout. + docker.clear(); + Alertify.info(gettext('pgAdmin has detected some issues with the UI layout, so reset it to the default.'), 0); + if(defaultLayoutCallback){ + defaultLayoutCallback(docker); } } } - if(reset_layout_to_default && defaultLayoutCallback) { - // clear the wcDocker before reset layout. - docker.clear(); - Alertify.info(gettext('pgAdmin has detected some issues with the UI layout, so reset it to the default.'), 0); - if(defaultLayoutCallback){ - defaultLayoutCallback(docker); - } - } } catch(err) { docker.clear();