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:
Nikhil Mohite
2020-11-04 17:45:28 +05:30
committed by Akshay Joshi
parent 749ba4a25c
commit 2793747d3c
35 changed files with 317 additions and 170 deletions
@@ -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) {