diff --git a/web/pgadmin/browser/static/js/node.ui.js b/web/pgadmin/browser/static/js/node.ui.js index 3417b3aa..c5d8c952 100644 --- a/web/pgadmin/browser/static/js/node.ui.js +++ b/web/pgadmin/browser/static/js/node.ui.js @@ -327,6 +327,28 @@ define([ }); }; + /* + * Global function to make visible backgrid new row + */ + $.fn.pgMakeBackgridVisible = function(cls) { + return this.each(function() { + if (!this || !$(this.length)) + return; + + var elem = $(this), + backgridDiv = $(this).offsetParent().parent(), // Backgrid div.subnode + backgridDivTop = backgridDiv.offset().top, + backgridDivHeight = backgridDiv.height(), + backformTab = $(this).closest(cls), // Backform-tab + gridScroll = backformTab[0].offsetHeight - backgridDivTop; + + if (backgridDivHeight > gridScroll) { + var top = elem.get(0).offsetTop + elem.height(); + backformTab.find('.tab-content').scrollTop(top); + } + return; + }); + }; /* * NodeAjaxOptionsCell diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index 8ace3b32..ae762f6e 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -1265,7 +1265,7 @@ define([ newRow = self.grid.body.rows[idx].$el; newRow.addClass('new'); - $(newRow).pgMakeVisible('backform-tab'); + $(newRow).pgMakeBackgridVisible('.backform-tab'); return false; } @@ -1516,7 +1516,7 @@ define([ newRow.attr('class', 'new').on('click',() => { $(this).attr('class', 'editable'); }); - $(newRow).pgMakeVisible('backform-tab'); + $(newRow).pgMakeBackgridVisible('.backform-tab'); return false; } });