mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
1) Added support for dynamic tab size. Fixes #4231
2) Fixed an issue where a long file name is not visible on the process watcher dialog. Fixes #5950
This commit is contained in:
committed by
Akshay Joshi
parent
749ba4a25c
commit
2793747d3c
@@ -77,39 +77,6 @@ class DebuggerModule(PgAdminModule):
|
||||
return scripts
|
||||
|
||||
def register_preferences(self):
|
||||
self.open_in_new_tab = self.preference.register(
|
||||
'display', 'debugger_new_browser_tab',
|
||||
gettext("Open in new browser tab"), 'boolean', False,
|
||||
category_label=PREF_LABEL_DISPLAY,
|
||||
help_str=gettext('If set to True, the Debugger '
|
||||
'will be opened in a new browser tab.')
|
||||
)
|
||||
|
||||
self.tab_title = self.preference.register(
|
||||
'display', 'debugger_tab_title_placeholder',
|
||||
gettext("Tab title"),
|
||||
'text', '%FUNCTION%(%ARGS%)',
|
||||
category_label=PREF_LABEL_DISPLAY,
|
||||
help_str=gettext(
|
||||
'Supported placeholders are %FUNCTION%, %ARGS%, %SCHEMA% and'
|
||||
' %DATABASE%. Users can provide any string with or '
|
||||
'without placeholders of their choice. The blank title will be'
|
||||
' revert back to the default title with placeholders.'
|
||||
)
|
||||
)
|
||||
|
||||
self.tab_title = self.preference.register(
|
||||
'display', 'debugger_tab_title_placeholder',
|
||||
gettext("Debugger tab title placeholder"),
|
||||
'text', '%FUNCTION%/%SCHEMA%/%DATABASE%',
|
||||
category_label=PREF_LABEL_DISPLAY,
|
||||
help_str=gettext(
|
||||
'Supported placeholders: FUNCTION, SCHEMA and DATABASE. '
|
||||
'You can also provide any string with or '
|
||||
'without placeholders'
|
||||
)
|
||||
)
|
||||
|
||||
self.preference.register(
|
||||
'keyboard_shortcuts', 'btn_start',
|
||||
gettext('Accesskey (Continue/Start)'), 'keyboardshortcut',
|
||||
|
||||
@@ -334,8 +334,7 @@ define([
|
||||
var t = pgBrowser.tree,
|
||||
i = item || t.selected(),
|
||||
d = i && i.length == 1 ? t.itemData(i) : undefined,
|
||||
node = d && pgBrowser.Nodes[d._type],
|
||||
self = this;
|
||||
node = d && pgBrowser.Nodes[d._type];
|
||||
|
||||
if (!d)
|
||||
return;
|
||||
@@ -410,8 +409,9 @@ define([
|
||||
var url = url_for('debugger.direct', {
|
||||
'trans_id': res.data.debuggerTransId,
|
||||
});
|
||||
|
||||
if (self.preferences.debugger_new_browser_tab) {
|
||||
var browser_preferences = pgBrowser.get_preferences_for_module('browser');
|
||||
var open_new_tab = browser_preferences.new_browser_tab_open;
|
||||
if (open_new_tab && open_new_tab.includes('debugger')) {
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
pgBrowser.Events.once(
|
||||
@@ -427,7 +427,7 @@ define([
|
||||
panel = pgBrowser.docker.addPanel(
|
||||
'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0]
|
||||
);
|
||||
debuggerUtils.setDebuggerTitle(panel, self.preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label);
|
||||
debuggerUtils.setDebuggerTitle(panel, browser_preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label);
|
||||
|
||||
panel.focus();
|
||||
|
||||
@@ -448,7 +448,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);
|
||||
let browser_preferences = pgBrowser.get_preferences_for_module('browser');
|
||||
debuggerUtils.setDebuggerTitle(panel, browser_preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label, value);
|
||||
}
|
||||
},
|
||||
// We will execute this function when user clicks on the Cancel
|
||||
@@ -478,8 +479,7 @@ define([
|
||||
var t = pgBrowser.tree,
|
||||
i = item || t.selected(),
|
||||
d = i && i.length == 1 ? t.itemData(i) : undefined,
|
||||
node = d && pgBrowser.Nodes[d._type],
|
||||
self = this;
|
||||
node = d && pgBrowser.Nodes[d._type];
|
||||
|
||||
if (!d)
|
||||
return;
|
||||
@@ -549,7 +549,9 @@ define([
|
||||
'trans_id': trans_id,
|
||||
});
|
||||
|
||||
if (self.preferences.debugger_new_browser_tab) {
|
||||
var browser_preferences = pgBrowser.get_preferences_for_module('browser');
|
||||
var open_new_tab = browser_preferences.new_browser_tab_open;
|
||||
if (open_new_tab && open_new_tab.includes('debugger')) {
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
pgBrowser.Events.once(
|
||||
@@ -565,7 +567,7 @@ define([
|
||||
panel = pgBrowser.docker.addPanel(
|
||||
'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0]
|
||||
);
|
||||
debuggerUtils.setDebuggerTitle(panel, self.preferences, newTreeInfo.function.label, newTreeInfo.schema.label, newTreeInfo.database.label);
|
||||
debuggerUtils.setDebuggerTitle(panel, browser_preferences, newTreeInfo.function.label, newTreeInfo.schema.label, newTreeInfo.database.label);
|
||||
|
||||
panel.focus();
|
||||
|
||||
@@ -586,7 +588,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);
|
||||
let browser_preferences = pgBrowser.get_preferences_for_module('browser');
|
||||
debuggerUtils.setDebuggerTitle(panel, browser_preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label, value);
|
||||
}
|
||||
},
|
||||
// We will execute this function when user clicks on the Cancel
|
||||
|
||||
@@ -10,9 +10,11 @@
|
||||
define([
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'backbone',
|
||||
'pgadmin.alertifyjs', 'sources/pgadmin', 'pgadmin.browser',
|
||||
'pgadmin.backgrid', 'sources/window', 'pgadmin.tools.debugger.utils', 'wcdocker',
|
||||
'pgadmin.backgrid', 'sources/window', 'pgadmin.tools.debugger.utils',
|
||||
'tools/datagrid/static/js/show_query_tool', 'wcdocker',
|
||||
], function(
|
||||
gettext, url_for, $, _, Backbone, Alertify, pgAdmin, pgBrowser, Backgrid, pgWindow, debuggerUtils
|
||||
gettext, url_for, $, _, Backbone, Alertify, pgAdmin, pgBrowser, Backgrid,
|
||||
pgWindow, debuggerUtils, showQueryTool
|
||||
) {
|
||||
|
||||
var wcDocker = window.wcDocker;
|
||||
@@ -759,7 +761,9 @@ define([
|
||||
}
|
||||
);
|
||||
|
||||
if (self.preferences.debugger_new_browser_tab) {
|
||||
var browserPreferences = pgWindow.default.pgAdmin.Browser.get_preferences_for_module('browser');
|
||||
var open_new_tab = browserPreferences.new_browser_tab_open;
|
||||
if (open_new_tab && open_new_tab.includes('debugger')) {
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
pgBrowser.Events.once(
|
||||
@@ -773,7 +777,10 @@ define([
|
||||
panel = pgBrowser.docker.addPanel(
|
||||
'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0]
|
||||
);
|
||||
debuggerUtils.setDebuggerTitle(panel, self.preferences, treeInfo.function.label, treeInfo.schema.label, treeInfo.database.label);
|
||||
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']);
|
||||
|
||||
panel.focus();
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
// This software is released under the PostgreSQL Licence
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
import {generateTitle} from '../../../datagrid/static/js/datagrid_panel_title';
|
||||
|
||||
function setFocusToDebuggerEditor(editor, command) {
|
||||
const TAB = 9;
|
||||
@@ -59,12 +60,15 @@ function setDebuggerTitle(panel, preferences, function_name, schema_name, databa
|
||||
args = args.concat(args_list[0]);
|
||||
}
|
||||
|
||||
debugger_title_placeholder = debugger_title_placeholder.replace(new RegExp('%FUNCTION%'), function_name);
|
||||
debugger_title_placeholder = debugger_title_placeholder.replace(new RegExp('%ARGS%'), args);
|
||||
debugger_title_placeholder = debugger_title_placeholder.replace(new RegExp('%SCHEMA%'), schema_name);
|
||||
debugger_title_placeholder = debugger_title_placeholder.replace(new RegExp('%DATABASE%'), database_name);
|
||||
|
||||
panel.title('<span>'+ _.escape(debugger_title_placeholder) +'</span>');
|
||||
var title_data = {
|
||||
'function_name': function_name,
|
||||
'args': args,
|
||||
'schema': schema_name,
|
||||
'database': database_name,
|
||||
'type': 'debugger',
|
||||
};
|
||||
var title = generateTitle(debugger_title_placeholder, title_data);
|
||||
panel.title('<span>'+ _.escape(title) +'</span>');
|
||||
}
|
||||
|
||||
function get_function_name(function_name) {
|
||||
|
||||
@@ -1835,7 +1835,9 @@ define([
|
||||
/* If debugger is in a new tab, event fired is not available
|
||||
* instead, a poller is set up who will check
|
||||
*/
|
||||
if(self.preferences.debugger_new_browser_tab) {
|
||||
var browser_preferences = browser.get_preferences_for_module('browser');
|
||||
var open_new_tab = browser_preferences.new_browser_tab_open;
|
||||
if (open_new_tab && open_new_tab.includes('debugger')) {
|
||||
pgBrowser.bind_beforeunload();
|
||||
let pollIntervalId = setInterval(()=>{
|
||||
if(pgWindow.default.pgAdmin) {
|
||||
|
||||
Reference in New Issue
Block a user