]> git.proxmox.com Git - proxmox-backup.git/blobdiff - www/NavigationTree.js
ui: MainView/NavigationTree: improve tree selection handling
[proxmox-backup.git] / www / NavigationTree.js
index 54e0adeb64f96c35702f3e7bedac7b5c733a2ce0..6524a5c39612ce03eebed196c9b5c10041d91bfd 100644 (file)
@@ -163,6 +163,12 @@ Ext.define('PBS.view.main.NavigationTree', {
            });
 
            Ext.Array.forEach(erase_list, function(node) { list.removeChild(node, true); });
+
+           if (view.pathToSelect !== undefined) {
+               let path = view.pathToSelect;
+               delete view.pathToSelect;
+               view.select(path, true);
+           }
        },
     },
 
@@ -186,10 +192,20 @@ Ext.define('PBS.view.main.NavigationTree', {
        },
     },
 
-    select: function(path) {
+    select: function(path, silent) {
        var me = this;
-       var item = me.getStore().findRecord('path', path, 0, false, true, true);
-       me.setSelection(item);
+       if (me.rstore.isLoaded()) {
+           if (silent) {
+               me.suspendEvents(false);
+           }
+           var item = me.getStore().findRecord('path', path, 0, false, true, true);
+           me.setSelection(item);
+           if (silent) {
+               me.resumeEvents(true);
+           }
+       } else {
+           me.pathToSelect = path;
+       }
     },
 
     animation: false,