2019-09-23 12:55:02 +05:30
|
|
|
/////////////////////////////////////////////////////////////
|
|
|
|
|
//
|
|
|
|
|
// pgAdmin 4 - PostgreSQL Tools
|
|
|
|
|
//
|
2023-01-02 11:53:55 +05:30
|
|
|
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
2019-09-23 12:55:02 +05:30
|
|
|
// This software is released under the PostgreSQL Licence
|
|
|
|
|
//
|
|
|
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
|
|
2020-01-31 11:20:45 +05:30
|
|
|
let getWindowOpener = (opener) => {
|
|
|
|
|
return opener.opener && opener.opener.pgAdmin ? getWindowOpener(opener.opener) : opener;
|
|
|
|
|
};
|
|
|
|
|
|
2019-09-23 12:55:02 +05:30
|
|
|
let pgWindow = function() {
|
2020-07-03 14:33:30 +05:30
|
|
|
let localPgWindow = null;
|
2019-09-23 12:55:02 +05:30
|
|
|
try {
|
|
|
|
|
if(window.opener && window.opener.pgAdmin) {
|
2020-01-31 11:20:45 +05:30
|
|
|
/* Windows can be opened at multiple levels */
|
2020-07-03 14:33:30 +05:30
|
|
|
localPgWindow = getWindowOpener(window.opener);
|
2019-09-23 12:55:02 +05:30
|
|
|
} else if(window.parent && window.parent.pgAdmin){
|
2020-07-03 14:33:30 +05:30
|
|
|
localPgWindow = window.parent;
|
2019-09-23 12:55:02 +05:30
|
|
|
} else if(window.top && window.top.pgAdmin){
|
2020-07-03 14:33:30 +05:30
|
|
|
localPgWindow = window.top;
|
2019-09-23 12:55:02 +05:30
|
|
|
} else {
|
2020-07-03 14:33:30 +05:30
|
|
|
localPgWindow = window;
|
2019-09-23 12:55:02 +05:30
|
|
|
}
|
|
|
|
|
} catch (error) {
|
2020-07-03 14:33:30 +05:30
|
|
|
localPgWindow = window;
|
2019-09-23 12:55:02 +05:30
|
|
|
}
|
2020-07-03 14:33:30 +05:30
|
|
|
return localPgWindow;
|
2019-09-23 12:55:02 +05:30
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
export default pgWindow;
|