mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Trigger the browser tree destroyed event so the consequences of destroying the tree are handled properly.
This commit is contained in:
@@ -555,11 +555,12 @@ export default function PreferencesComponent({ ...props }) {
|
|||||||
gettext('Object explorer refresh required'),
|
gettext('Object explorer refresh required'),
|
||||||
gettext('An object explorer refresh is required. Do you wish to refresh it now?'),
|
gettext('An object explorer refresh is required. Do you wish to refresh it now?'),
|
||||||
function () {
|
function () {
|
||||||
pgAdmin.Browser.tree.destroy({
|
pgAdmin.Browser.tree.destroy().then(
|
||||||
success: function () {
|
() => {
|
||||||
|
pgAdmin.Browser.Events.trigger('pgadmin-browser:tree:destroyed', undefined, undefined);
|
||||||
return true;
|
return true;
|
||||||
},
|
}
|
||||||
});
|
);
|
||||||
},
|
},
|
||||||
function () {
|
function () {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ export default function withStandardTabInfo(Component, tabId) {
|
|||||||
setNodeInfo([true, item, data]);
|
setNodeInfo([true, item, data]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let destroyTree = pgAdmin.Browser.Events.on('pgadmin-browser:tree:destroyed', onUpdate);
|
||||||
let deregisterTree = pgAdmin.Browser.Events.on('pgadmin-browser:node:selected', onUpdate);
|
let deregisterTree = pgAdmin.Browser.Events.on('pgadmin-browser:node:selected', onUpdate);
|
||||||
let deregisterTreeUpdate = pgAdmin.Browser.Events.on('pgadmin-browser:tree:updated', onUpdate);
|
let deregisterTreeUpdate = pgAdmin.Browser.Events.on('pgadmin-browser:tree:updated', onUpdate);
|
||||||
let deregisterDbConnected = pgAdmin.Browser.Events.on('pgadmin:database:connected', onUpdate);
|
let deregisterDbConnected = pgAdmin.Browser.Events.on('pgadmin:database:connected', onUpdate);
|
||||||
@@ -54,6 +55,7 @@ export default function withStandardTabInfo(Component, tabId) {
|
|||||||
|
|
||||||
return ()=>{
|
return ()=>{
|
||||||
onTabActive?.cancel();
|
onTabActive?.cancel();
|
||||||
|
destroyTree();
|
||||||
deregisterTree();
|
deregisterTree();
|
||||||
deregisterTreeUpdate();
|
deregisterTreeUpdate();
|
||||||
deregisterDbConnected();
|
deregisterDbConnected();
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ export class Tree {
|
|||||||
this.rootNode.children = [];
|
this.rootNode.children = [];
|
||||||
if (model.root) {
|
if (model.root) {
|
||||||
model.root.isExpanded = false;
|
model.root.isExpanded = false;
|
||||||
await model.root.hardReloadChildren();
|
return Promise.resolve(await model.root.hardReloadChildren());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user