1) Added tooltip & keyboard shortcut for the query tool button.

2) Fixed TypeError issue.

refs #4059
This commit is contained in:
Rahul Shirsat 2020-09-09 19:32:33 +05:30 committed by Akshay Joshi
parent 1bc1ef7f17
commit 62e6848dc8
6 changed files with 42 additions and 5 deletions

View File

@ -199,6 +199,7 @@ function keyboardShortcutsQueryTool(
let commitKeys = sqlEditorController.preferences.commit_transaction;
let rollbackKeys = sqlEditorController.preferences.rollback_transaction;
let saveDataKeys = sqlEditorController.preferences.save_data;
let queryToolKeys = sqlEditorController.preferences.show_query_tool;
if (this.validateShortcutKeys(executeKeys, event)) {
this._stopEventPropagation(event);
@ -230,6 +231,9 @@ function keyboardShortcutsQueryTool(
} else if (this.validateShortcutKeys(saveDataKeys, event)) {
this._stopEventPropagation(event);
queryToolActions.saveDataChanges(sqlEditorController);
} else if (this.validateShortcutKeys(queryToolKeys, event)) {
this._stopEventPropagation(event);
queryToolActions.openQueryTool(sqlEditorController);
} else if ((
(this.isMac() && event.metaKey) ||
(!this.isMac() && event.ctrlKey)

View File

@ -161,6 +161,14 @@ let queryToolActions = {
sqlEditorController.close_on_save = false;
sqlEditorController.save_data();
},
openQueryTool: function (sqlEditorController) {
sqlEditorController.gridView.handler.trigger(
'pgadmin-sqleditor:button:show_query_tool',
sqlEditorController.gridView,
sqlEditorController.gridView.handler
);
},
};
module.exports = queryToolActions;

View File

@ -136,6 +136,12 @@ function updateUIPreferences(sqlEditor) {
.attr('aria-label',
shortcut_title(gettext('Rollback'),preferences.rollback_transaction));
$el.find('#btn-show-query-tool')
.attr('title',
shortcut_title(gettext('Query tool'),preferences.show_query_tool))
.attr('aria-label',
shortcut_title(gettext('Query tool'),preferences.show_query_tool));
/* Set explain options on query editor */
if (preferences.explain_verbose){
$el.find('.explain-verbose').removeClass('visibility-hidden');

View File

@ -65,7 +65,15 @@ export function showQueryTool(datagrid, pgBrowser, alertify, url, aciTreeIdentif
const gridUrl = generateUrl(transId, queryToolTitle, parentData);
datagrid.launch_grid(transId, gridUrl, true, queryToolTitle, sURL);
let retVal = datagrid.launch_grid(transId, gridUrl, true, queryToolTitle, sURL);
if(!retVal) {
alertify.alert(
gettext('Query tool launch error'),
gettext(
'Please allow the pop-ups for this site to perform the desired action. If the main window of pgAdmin is closed then close this window and open a new pgAdmin session.'
)
);
}
}
export function generateScript(parentData, datagrid) {

View File

@ -17,7 +17,6 @@
<div class="btn-group mr-1" role="group" aria-label="">
<button id="btn-show-query-tool" type="button" class="btn btn-sm btn-primary-icon btn-show-query-tool"
title=""
accesskey=""
tabindex="0">
<i class="pg-font-icon icon-query-tool" aria-hidden="true" role="img"></i>
</button>

View File

@ -7,6 +7,8 @@
//
//////////////////////////////////////////////////////////////
import {getTreeNodeHierarchyFromIdentifier} from 'sources/tree/pgadmin_tree_node';
define('tools.querytool', [
'sources/gettext', 'sources/url_for', 'jquery', 'jquery.ui',
'jqueryui.position', 'underscore', 'pgadmin.alertifyjs',
@ -151,7 +153,8 @@ define('tools.querytool', [
reflectPreferences: function() {
let self = this,
browser = pgWindow.default.pgAdmin.Browser;
browser = pgWindow.default.pgAdmin.Browser,
browser_preferences = browser.get_preferences_for_module('browser');
/* pgBrowser is different obj from pgWindow.default.pgAdmin.Browser
* Make sure to get only the latest update. Older versions will be discarded
@ -162,6 +165,7 @@ define('tools.querytool', [
if(pgBrowser.preference_version() < browser.preference_version()){
pgBrowser.preference_version(browser.preference_version());
self.preferences = browser.get_preferences_for_module('sqleditor');
self.preferences.show_query_tool = browser_preferences.sub_menu_query_tool;
self.handler.preferences = self.preferences;
queryToolPref.updateUIPreferences(self);
}
@ -2078,12 +2082,20 @@ define('tools.querytool', [
if(!d)
return;
const parentData = getTreeNodeHierarchyFromIdentifier.call(pgWindow.default.pgAdmin.Browser, i);
if(!parentData) {
return;
}
let conn_param = parentData.database || parentData.server;
var selected_tree_node = { t, i, d };
if(!pgWindow.default.pgAdmin.selected_tree_map)
pgWindow.default.pgAdmin.selected_tree_map = new Map();
pgWindow.default.pgAdmin.selected_tree_map.set(d._pid.toString(), selected_tree_node);
pgWindow.default.pgAdmin.selected_tree_map.set(conn_param._id.toString(), selected_tree_node);
};
_.extend(
@ -4306,7 +4318,7 @@ define('tools.querytool', [
var self = this;
setTimeout(() => {
var tree_node = pgWindow.default.pgAdmin.selected_tree_map.get(self.url_params.did);
var tree_node = pgWindow.default.pgAdmin.selected_tree_map.get(self.url_params.did || self.url_params.sid);
if(self.preferences.new_browser_tab) {
is_main_window_alive();
}