From 17ce84dd0a9207ad33eaaf8e5065995205420d3e Mon Sep 17 00:00:00 2001 From: Nikhil Mohite Date: Thu, 19 Nov 2020 10:25:20 +0530 Subject: [PATCH] =?UTF-8?q?Fixed=20an=20issue=20where=20dynamic=20tab=20ti?= =?UTF-8?q?tle=20has=20not=20applied=C2=A0the=20first=20time=20for=20debug?= =?UTF-8?q?ger=20panel.=20Fixes=20#5978?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en_US/release_notes_4_29.rst | 1 + web/pgadmin/tools/debugger/__init__.py | 1 + .../tools/debugger/static/js/debugger.js | 18 ++++++++++++------ .../tools/debugger/static/js/debugger_ui.js | 13 ++++++------- .../tools/debugger/static/js/debugger_utils.js | 4 +++- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/docs/en_US/release_notes_4_29.rst b/docs/en_US/release_notes_4_29.rst index a4bee21b8..886f0cb67 100644 --- a/docs/en_US/release_notes_4_29.rst +++ b/docs/en_US/release_notes_4_29.rst @@ -18,5 +18,6 @@ Bug fixes ********* | `Issue #5974 `_ - Fixed an issue where the debugger's custom tab title not applied when opened in the new browser tab. +| `Issue #5978 `_ - Fixed an issue where dynamic tab title has not applied the first time for debugger panel. | `Issue #5983 `_ - Added the appropriate server icon based on the server type in the new connection dialog. | `Issue #5985 `_ - Fixed an issue where the process watcher dialog throws an error for the database server which is already removed. diff --git a/web/pgadmin/tools/debugger/__init__.py b/web/pgadmin/tools/debugger/__init__.py index 5974bc995..74844a11b 100644 --- a/web/pgadmin/tools/debugger/__init__.py +++ b/web/pgadmin/tools/debugger/__init__.py @@ -539,6 +539,7 @@ def check_debugger_enabled(conn, ret_status): :param ret_status: :return: """ + msg = '' status_in, rid_tar = conn.execute_scalar( "SELECT count(*) FROM pg_proc WHERE " "proname = 'pldbg_get_target_info'" diff --git a/web/pgadmin/tools/debugger/static/js/debugger.js b/web/pgadmin/tools/debugger/static/js/debugger.js index 9fbd998dc..9d45f1712 100644 --- a/web/pgadmin/tools/debugger/static/js/debugger.js +++ b/web/pgadmin/tools/debugger/static/js/debugger.js @@ -11,11 +11,13 @@ define([ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'alertify', 'sources/pgadmin', 'pgadmin.browser', 'backbone', 'pgadmin.backgrid', 'codemirror', 'pgadmin.backform', - 'pgadmin.tools.debugger.ui', 'pgadmin.tools.debugger.utils', 'sources/utils', + 'pgadmin.tools.debugger.ui', 'pgadmin.tools.debugger.utils', + 'tools/datagrid/static/js/show_query_tool', 'sources/utils', 'wcdocker', 'pgadmin.browser.frame', ], function( gettext, url_for, $, _, Alertify, pgAdmin, pgBrowser, Backbone, Backgrid, - CodeMirror, Backform, get_function_arguments, debuggerUtils, pgadminUtils, + CodeMirror, Backform, get_function_arguments, debuggerUtils, showQueryTool, + pgadminUtils, ) { var pgTools = pgAdmin.Tools = pgAdmin.Tools || {}, wcDocker = window.wcDocker; @@ -427,7 +429,8 @@ define([ panel = pgBrowser.docker.addPanel( 'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0] ); - debuggerUtils.setDebuggerTitle(panel, browser_preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label); + var label = treeInfo.function ? treeInfo.function.label : treeInfo.procedure.label; + debuggerUtils.setDebuggerTitle(panel, browser_preferences, label, treeInfo.schema.label, treeInfo.database.label, null, pgBrowser); panel.focus(); @@ -449,7 +452,8 @@ define([ function(evt, value) { if(value) { let browser_preferences = pgBrowser.get_preferences_for_module('browser'); - debuggerUtils.setDebuggerTitle(panel, browser_preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label, value); + var label = treeInfo.function ? treeInfo.function.label : treeInfo.procedure.label; + debuggerUtils.setDebuggerTitle(panel, browser_preferences, label, treeInfo.schema.label, treeInfo.database.label, value, pgBrowser); } }, // We will execute this function when user clicks on the Cancel @@ -567,7 +571,8 @@ define([ panel = pgBrowser.docker.addPanel( 'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0] ); - debuggerUtils.setDebuggerTitle(panel, browser_preferences, newTreeInfo.function.label, newTreeInfo.schema.label, newTreeInfo.database.label); + var label = newTreeInfo.function ? newTreeInfo.function.label : newTreeInfo.procedure.label; + debuggerUtils.setDebuggerTitle(panel, browser_preferences, label, newTreeInfo.schema.label, newTreeInfo.database.label, null, pgBrowser); panel.focus(); @@ -589,7 +594,8 @@ define([ function(evt, value) { if(value) { let browser_preferences = pgBrowser.get_preferences_for_module('browser'); - debuggerUtils.setDebuggerTitle(panel, browser_preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label, value); + var label = treeInfo.function ? treeInfo.function.label : treeInfo.procedure.label; + debuggerUtils.setDebuggerTitle(panel, browser_preferences, label, treeInfo.schema.label, treeInfo.database.label, value, pgBrowser); } }, // We will execute this function when user clicks on the Cancel diff --git a/web/pgadmin/tools/debugger/static/js/debugger_ui.js b/web/pgadmin/tools/debugger/static/js/debugger_ui.js index 848587de5..4af58d86b 100644 --- a/web/pgadmin/tools/debugger/static/js/debugger_ui.js +++ b/web/pgadmin/tools/debugger/static/js/debugger_ui.js @@ -11,10 +11,10 @@ define([ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'backbone', 'pgadmin.alertifyjs', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backgrid', 'sources/window', 'pgadmin.tools.debugger.utils', - 'tools/datagrid/static/js/show_query_tool', 'wcdocker', + 'wcdocker', ], function( gettext, url_for, $, _, Backbone, Alertify, pgAdmin, pgBrowser, Backgrid, - pgWindow, debuggerUtils, showQueryTool + pgWindow, debuggerUtils, ) { var wcDocker = window.wcDocker; @@ -778,10 +778,8 @@ define([ 'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0] ); var browser_pref = pgBrowser.get_preferences_for_module('browser'); - debuggerUtils.setDebuggerTitle(panel, browser_pref, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label); - - showQueryTool._set_dynamic_tab(pgBrowser, browser_pref['dynamic_tabs']); - + var label = treeInfo.function ? treeInfo.function.label : treeInfo.procedure.label; + debuggerUtils.setDebuggerTitle(panel, browser_pref, label, treeInfo.schema.label, treeInfo.database.label, null, pgBrowser); panel.focus(); // Panel Closed event @@ -801,7 +799,8 @@ define([ // We will execute this function when user clicks on the OK button function(evt, value) { if(value) { - debuggerUtils.setDebuggerTitle(panel, self.preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label, value); + var label = treeInfo.function ? treeInfo.function.label : treeInfo.procedure.label; + debuggerUtils.setDebuggerTitle(panel, self.preferences, label, treeInfo.schema.label, treeInfo.database.label, value, pgBrowser); } }, // We will execute this function when user clicks on the Cancel diff --git a/web/pgadmin/tools/debugger/static/js/debugger_utils.js b/web/pgadmin/tools/debugger/static/js/debugger_utils.js index e627c2008..81e234d90 100644 --- a/web/pgadmin/tools/debugger/static/js/debugger_utils.js +++ b/web/pgadmin/tools/debugger/static/js/debugger_utils.js @@ -7,6 +7,7 @@ // ////////////////////////////////////////////////////////////////////////// import {generateTitle} from '../../../datagrid/static/js/datagrid_panel_title'; +import {_set_dynamic_tab} from '../../../datagrid/static/js/show_query_tool'; function setFocusToDebuggerEditor(editor, command) { const TAB = 9; @@ -43,7 +44,7 @@ function getProcedureId(treeInfoObject) { return objectId; } -function setDebuggerTitle(panel, preferences, function_name, schema_name, database_name, custom_title) { +function setDebuggerTitle(panel, preferences, function_name, schema_name, database_name, custom_title=null, pgBrowser=null) { var debugger_title_placeholder = ''; if(custom_title) { debugger_title_placeholder = custom_title; @@ -68,6 +69,7 @@ function setDebuggerTitle(panel, preferences, function_name, schema_name, databa 'type': 'debugger', }; var title = generateTitle(debugger_title_placeholder, title_data); + _set_dynamic_tab(pgBrowser, preferences['dynamic_tabs']); panel.title(''+ title +''); }