mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Save the treeview state periodically, and restore it automatically when reconnecting. Fixes #1253
This commit is contained in:
committed by
Dave Page
parent
44ef501283
commit
528ea88dec
@@ -9,7 +9,7 @@ define('pgadmin.browser', [
|
||||
'pgadmin.browser.error', 'pgadmin.browser.frame',
|
||||
'pgadmin.browser.node', 'pgadmin.browser.collection',
|
||||
'sources/codemirror/addon/fold/pgadmin-sqlfoldcode',
|
||||
'pgadmin.browser.keyboard',
|
||||
'pgadmin.browser.keyboard', 'sources/tree/pgadmin_tree_save_state',
|
||||
], function(
|
||||
tree,
|
||||
gettext, url_for, require, $, _, S, Bootstrap, pgAdmin, Alertify,
|
||||
@@ -513,9 +513,11 @@ define('pgadmin.browser', [
|
||||
.done(function() {})
|
||||
.fail(function() {});
|
||||
}, 300000);
|
||||
|
||||
obj.Events.on('pgadmin:browser:tree:add', obj.onAddTreeNode, obj);
|
||||
obj.Events.on('pgadmin:browser:tree:update', obj.onUpdateTreeNode, obj);
|
||||
obj.Events.on('pgadmin:browser:tree:refresh', obj.onRefreshTreeNode, obj);
|
||||
|
||||
},
|
||||
|
||||
add_menu_category: function(
|
||||
@@ -1942,19 +1944,10 @@ define('pgadmin.browser', [
|
||||
pgAdmin.Browser.editor_shortcut_keys.Tab = 'insertSoftTab';
|
||||
}
|
||||
|
||||
window.onbeforeunload = function() {
|
||||
var e = window.event,
|
||||
msg = S(gettext('Are you sure you wish to close the %s browser?')).sprintf(pgBrowser.utils.app_name).value();
|
||||
|
||||
// For IE and Firefox prior to version 4
|
||||
if (e) {
|
||||
e.returnValue = msg;
|
||||
}
|
||||
|
||||
// For Safari
|
||||
return msg;
|
||||
};
|
||||
|
||||
$(window).on('beforeunload', function() {
|
||||
if (pgBrowser.get_preference('browser', 'browser_tree_state_save_interval').value !== -1)
|
||||
pgAdmin.Browser.browserTreeState.save_state();
|
||||
});
|
||||
|
||||
return pgAdmin.Browser;
|
||||
});
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
define('pgadmin.browser.node', [
|
||||
'sources/tree/pgadmin_tree_node',
|
||||
'sources/tree/pgadmin_tree_node', 'sources/url_for',
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'sources/pgadmin',
|
||||
'pgadmin.browser.menu', 'backbone', 'pgadmin.alertifyjs', 'pgadmin.browser.datamodel',
|
||||
'backform', 'sources/browser/generate_url', 'sources/utils', 'pgadmin.browser.utils',
|
||||
'pgadmin.backform',
|
||||
], function(
|
||||
pgadminTreeNode,
|
||||
pgadminTreeNode, url_for,
|
||||
gettext, $, _, S, pgAdmin, Menu, Backbone, Alertify, pgBrowser, Backform, generateUrl, commonUtils
|
||||
) {
|
||||
|
||||
@@ -849,7 +849,6 @@ define('pgadmin.browser.node', [
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
added: function(item, data, browser) {
|
||||
var b = browser || pgBrowser,
|
||||
t = b.tree,
|
||||
@@ -876,6 +875,8 @@ define('pgadmin.browser.node', [
|
||||
);
|
||||
}
|
||||
|
||||
pgBrowser.Events.trigger('pgadmin:browser:tree:expand-from-previous-tree-state',
|
||||
item);
|
||||
pgBrowser.Node.callbacks.change_server_background(item, data);
|
||||
},
|
||||
// Callback called - when a node is selected in browser tree.
|
||||
@@ -905,6 +906,8 @@ define('pgadmin.browser.node', [
|
||||
}
|
||||
}
|
||||
|
||||
pgBrowser.Events.trigger('pgadmin:browser:tree:update-tree-state',
|
||||
item);
|
||||
return true;
|
||||
},
|
||||
removed: function(item) {
|
||||
@@ -958,6 +961,14 @@ define('pgadmin.browser.node', [
|
||||
},
|
||||
});
|
||||
},
|
||||
opened: function(item) {
|
||||
pgBrowser.Events.trigger('pgadmin:browser:tree:update-tree-state',
|
||||
item);
|
||||
},
|
||||
closed: function(item) {
|
||||
pgBrowser.Events.trigger('pgadmin:browser:tree:remove-from-tree-state',
|
||||
item);
|
||||
},
|
||||
},
|
||||
/**********************************************************************
|
||||
* A hook (not a callback) to show object properties in given HTML
|
||||
|
||||
@@ -94,6 +94,9 @@ _.extend(pgBrowser, {
|
||||
modifyAnimation.modifyAlertifyAnimation(self);
|
||||
}
|
||||
|
||||
// Initialize Tree saving/reloading
|
||||
pgBrowser.browserTreeState.init();
|
||||
|
||||
/* Once the cache is loaded after changing the preferences,
|
||||
* notify the modules of the change
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user