diff --git a/web/pgadmin/browser/static/js/layout.js b/web/pgadmin/browser/static/js/layout.js index 9491bfaa..cb741a65 100644 --- a/web/pgadmin/browser/static/js/layout.js +++ b/web/pgadmin/browser/static/js/layout.js @@ -61,6 +61,25 @@ _.extend(pgBrowser, { 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(reset_layout_to_default && defaultLayoutCallback) { + // clear the wcDocker before reset layout. + docker.clear(); + Alertify.warning(gettext('PgAdmin detected some issues with the UI layout, pgAdmin reset it to the default layout.'), 0); + if(defaultLayoutCallback){ + defaultLayoutCallback(docker); + } + } } catch(err) { docker.clear();