From 3dba7d8303f709bc42007bc798a8673a120b10e3 Mon Sep 17 00:00:00 2001 From: Murtuza Zabuawala Date: Fri, 7 Apr 2017 08:58:40 +0530 Subject: [PATCH] Fixes #2321 - [Browser Tree] Shows only the newly created node (not, all other child node) of a parent node, when it has not been already loaded. In order to resolve the issue - we will open the parent, and select the created node, instead of adding it to parent node. --- .../browser/templates/browser/js/browser.js | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/web/pgadmin/browser/templates/browser/js/browser.js b/web/pgadmin/browser/templates/browser/js/browser.js index 4eacc1650..941c77e3a 100644 --- a/web/pgadmin/browser/templates/browser/js/browser.js +++ b/web/pgadmin/browser/templates/browser/js/browser.js @@ -965,14 +965,25 @@ function(require, $, _, S, Bootstrap, pgAdmin, Alertify, CodeMirror) { var i = $(options.items[0]); // Open the item path only if its parent is loaded // or parent type is same as nodes - if(_parent_data._type.search(_data._type) > -1 || - is_parent_loaded_before) { + if( + is_parent_loaded_before && + _parent_data && _parent_data._type.search( + _data._type + ) > -1 + ) { ctx.t.openPath(i); ctx.t.select(i); } else { - // Unload the parent node so that we'll get - // latest data when we try to expand it - ctx.t.unload(ctx.i); + if (_parent_data) { + // Unload the parent node so that we'll get + // latest data when we try to expand it + ctx.t.unload(ctx.i, { + success: function (item, options) { + // Lets try to load it now + ctx.t.open(item); + } + }); + } } if ( ctx.o && ctx.o.success &&