pgadmin4/web/pgadmin/static/js/window.js
Akshay Joshi dea5335ce5 Fixed the following SonarQube code smells:
1) Do not use the Array index in keys.
2) Import from the same module should be merged.
3) Mutable variables should not be exported.
4) Variables should not be initialized to undefined.
5) startswith or endswith method should be used.
6) Unwrap this unnecessarily grouped subpattern.

Additionally, addressed many other SonarQube rules.
2024-06-12 18:09:06 +05:30

34 lines
907 B
JavaScript

/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
let getWindowOpener = (opener) => {
return opener.opener?.pgAdmin ? getWindowOpener(opener.opener) : opener;
};
const pgWindow = function() {
let localPgWindow = null;
try {
if(window.opener?.pgAdmin) {
/* Windows can be opened at multiple levels */
localPgWindow = getWindowOpener(window.opener);
} else if(window.parent?.pgAdmin){
localPgWindow = window.parent;
} else if(window.top?.pgAdmin){
localPgWindow = window.top;
} else {
localPgWindow = window;
}
} catch (error) {
localPgWindow = window;
}
return localPgWindow;
}();
export default pgWindow;