1) Added tooltip & keyboard shortcut for the query tool button.
2) Fixed TypeError issue. refs #4059pull/35/head
parent
1bc1ef7f17
commit
62e6848dc8
|
@ -199,6 +199,7 @@ function keyboardShortcutsQueryTool(
|
||||||
let commitKeys = sqlEditorController.preferences.commit_transaction;
|
let commitKeys = sqlEditorController.preferences.commit_transaction;
|
||||||
let rollbackKeys = sqlEditorController.preferences.rollback_transaction;
|
let rollbackKeys = sqlEditorController.preferences.rollback_transaction;
|
||||||
let saveDataKeys = sqlEditorController.preferences.save_data;
|
let saveDataKeys = sqlEditorController.preferences.save_data;
|
||||||
|
let queryToolKeys = sqlEditorController.preferences.show_query_tool;
|
||||||
|
|
||||||
if (this.validateShortcutKeys(executeKeys, event)) {
|
if (this.validateShortcutKeys(executeKeys, event)) {
|
||||||
this._stopEventPropagation(event);
|
this._stopEventPropagation(event);
|
||||||
|
@ -230,6 +231,9 @@ function keyboardShortcutsQueryTool(
|
||||||
} else if (this.validateShortcutKeys(saveDataKeys, event)) {
|
} else if (this.validateShortcutKeys(saveDataKeys, event)) {
|
||||||
this._stopEventPropagation(event);
|
this._stopEventPropagation(event);
|
||||||
queryToolActions.saveDataChanges(sqlEditorController);
|
queryToolActions.saveDataChanges(sqlEditorController);
|
||||||
|
} else if (this.validateShortcutKeys(queryToolKeys, event)) {
|
||||||
|
this._stopEventPropagation(event);
|
||||||
|
queryToolActions.openQueryTool(sqlEditorController);
|
||||||
} else if ((
|
} else if ((
|
||||||
(this.isMac() && event.metaKey) ||
|
(this.isMac() && event.metaKey) ||
|
||||||
(!this.isMac() && event.ctrlKey)
|
(!this.isMac() && event.ctrlKey)
|
||||||
|
|
|
@ -161,6 +161,14 @@ let queryToolActions = {
|
||||||
sqlEditorController.close_on_save = false;
|
sqlEditorController.close_on_save = false;
|
||||||
sqlEditorController.save_data();
|
sqlEditorController.save_data();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
openQueryTool: function (sqlEditorController) {
|
||||||
|
sqlEditorController.gridView.handler.trigger(
|
||||||
|
'pgadmin-sqleditor:button:show_query_tool',
|
||||||
|
sqlEditorController.gridView,
|
||||||
|
sqlEditorController.gridView.handler
|
||||||
|
);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = queryToolActions;
|
module.exports = queryToolActions;
|
||||||
|
|
|
@ -136,6 +136,12 @@ function updateUIPreferences(sqlEditor) {
|
||||||
.attr('aria-label',
|
.attr('aria-label',
|
||||||
shortcut_title(gettext('Rollback'),preferences.rollback_transaction));
|
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 */
|
/* Set explain options on query editor */
|
||||||
if (preferences.explain_verbose){
|
if (preferences.explain_verbose){
|
||||||
$el.find('.explain-verbose').removeClass('visibility-hidden');
|
$el.find('.explain-verbose').removeClass('visibility-hidden');
|
||||||
|
|
|
@ -65,7 +65,15 @@ export function showQueryTool(datagrid, pgBrowser, alertify, url, aciTreeIdentif
|
||||||
|
|
||||||
const gridUrl = generateUrl(transId, queryToolTitle, parentData);
|
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) {
|
export function generateScript(parentData, datagrid) {
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
<div class="btn-group mr-1" role="group" aria-label="">
|
<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"
|
<button id="btn-show-query-tool" type="button" class="btn btn-sm btn-primary-icon btn-show-query-tool"
|
||||||
title=""
|
title=""
|
||||||
accesskey=""
|
|
||||||
tabindex="0">
|
tabindex="0">
|
||||||
<i class="pg-font-icon icon-query-tool" aria-hidden="true" role="img"></i>
|
<i class="pg-font-icon icon-query-tool" aria-hidden="true" role="img"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
import {getTreeNodeHierarchyFromIdentifier} from 'sources/tree/pgadmin_tree_node';
|
||||||
|
|
||||||
define('tools.querytool', [
|
define('tools.querytool', [
|
||||||
'sources/gettext', 'sources/url_for', 'jquery', 'jquery.ui',
|
'sources/gettext', 'sources/url_for', 'jquery', 'jquery.ui',
|
||||||
'jqueryui.position', 'underscore', 'pgadmin.alertifyjs',
|
'jqueryui.position', 'underscore', 'pgadmin.alertifyjs',
|
||||||
|
@ -151,7 +153,8 @@ define('tools.querytool', [
|
||||||
|
|
||||||
reflectPreferences: function() {
|
reflectPreferences: function() {
|
||||||
let self = this,
|
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
|
/* pgBrowser is different obj from pgWindow.default.pgAdmin.Browser
|
||||||
* Make sure to get only the latest update. Older versions will be discarded
|
* 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()){
|
if(pgBrowser.preference_version() < browser.preference_version()){
|
||||||
pgBrowser.preference_version(browser.preference_version());
|
pgBrowser.preference_version(browser.preference_version());
|
||||||
self.preferences = browser.get_preferences_for_module('sqleditor');
|
self.preferences = browser.get_preferences_for_module('sqleditor');
|
||||||
|
self.preferences.show_query_tool = browser_preferences.sub_menu_query_tool;
|
||||||
self.handler.preferences = self.preferences;
|
self.handler.preferences = self.preferences;
|
||||||
queryToolPref.updateUIPreferences(self);
|
queryToolPref.updateUIPreferences(self);
|
||||||
}
|
}
|
||||||
|
@ -2078,12 +2082,20 @@ define('tools.querytool', [
|
||||||
if(!d)
|
if(!d)
|
||||||
return;
|
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 };
|
var selected_tree_node = { t, i, d };
|
||||||
|
|
||||||
if(!pgWindow.default.pgAdmin.selected_tree_map)
|
if(!pgWindow.default.pgAdmin.selected_tree_map)
|
||||||
pgWindow.default.pgAdmin.selected_tree_map = new 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(
|
_.extend(
|
||||||
|
@ -4306,7 +4318,7 @@ define('tools.querytool', [
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
setTimeout(() => {
|
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) {
|
if(self.preferences.new_browser_tab) {
|
||||||
is_main_window_alive();
|
is_main_window_alive();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue