mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
1) Added aria-label to buttons used in graphical explain plan.
2) Fixed minor issue where we use dialog tab navigator keyboard shortcut only on visible tabs. 3) Fixed an issue where Zoom in, Zoom out, Zoom to original and Download button should not blur the focus after a click on them. Initial patch sent by Murtuza Zabuawala.
This commit is contained in:
parent
cc5c3776ca
commit
37f76142fb
@ -1283,7 +1283,8 @@ define('pgadmin.misc.explain', [
|
||||
}).appendTo(graphicalContainer),
|
||||
zoomInBtn = $('<button></button>', {
|
||||
class: 'btn btn-secondary pg-explain-zoom-btn',
|
||||
title: 'Zoom in',
|
||||
title: gettext('Zoom in'),
|
||||
'aria-label': gettext('Zoom in'),
|
||||
tabindex: 0,
|
||||
}).appendTo(zoomArea).append(
|
||||
$('<i></i>', {
|
||||
@ -1291,7 +1292,8 @@ define('pgadmin.misc.explain', [
|
||||
})),
|
||||
zoomToNormal = $('<button></button>', {
|
||||
class: 'btn btn-secondary pg-explain-zoom-btn',
|
||||
title: 'Zoom to original',
|
||||
title: gettext('Zoom to original'),
|
||||
'aria-label': gettext('Zoom to original'),
|
||||
tabindex: 0,
|
||||
}).appendTo(zoomArea).append(
|
||||
$('<i></i>', {
|
||||
@ -1299,7 +1301,8 @@ define('pgadmin.misc.explain', [
|
||||
})),
|
||||
zoomOutBtn = $('<button></button>', {
|
||||
class: 'btn btn-secondary pg-explain-zoom-btn',
|
||||
title: 'Zoom out',
|
||||
title: gettext('Zoom out'),
|
||||
'aria-label': gettext('Zoom out'),
|
||||
tabindex: 0,
|
||||
}).appendTo(zoomArea).append(
|
||||
$('<i></i>', {
|
||||
@ -1313,7 +1316,8 @@ define('pgadmin.misc.explain', [
|
||||
downloadBtn = $('<button></button>', {
|
||||
id: 'btn-explain-download',
|
||||
class: 'btn btn-secondary pg-explain-download-btn',
|
||||
title: 'Download',
|
||||
title: gettext('Download'),
|
||||
'aria-label': gettext('Download'),
|
||||
tabindex: 0,
|
||||
disabled: function() {
|
||||
var current_browser = pgAdmin.Browser.get_browser();
|
||||
@ -1341,7 +1345,8 @@ define('pgadmin.misc.explain', [
|
||||
$('<button></button>', {
|
||||
id: 'btn-explain-stats',
|
||||
class: 'btn btn-secondary pg-explain-stats-btn',
|
||||
title: 'Statistics',
|
||||
title: gettext('Statistics'),
|
||||
'aria-label': gettext('Statistics'),
|
||||
tabindex: 0,
|
||||
}).appendTo(statsArea).append(
|
||||
$('<i></i>', {
|
||||
@ -1380,7 +1385,6 @@ define('pgadmin.misc.explain', [
|
||||
var today = new Date();
|
||||
var filename = 'explain_plan_' + today.getTime() + '.svg';
|
||||
svgDownloader.downloadSVG(s.toString(), filename);
|
||||
downloadBtn.trigger('blur');
|
||||
}
|
||||
};
|
||||
|
||||
@ -1450,7 +1454,6 @@ define('pgadmin.misc.explain', [
|
||||
'height': h * curr_zoom_factor,
|
||||
});
|
||||
planDiv.data('zoom-factor', curr_zoom_factor);
|
||||
zoomInBtn.trigger('blur');
|
||||
});
|
||||
|
||||
zoomOutBtn.on('click', function() {
|
||||
@ -1466,7 +1469,6 @@ define('pgadmin.misc.explain', [
|
||||
'height': h * curr_zoom_factor,
|
||||
});
|
||||
planDiv.data('zoom-factor', curr_zoom_factor);
|
||||
zoomOutBtn.trigger('blur');
|
||||
});
|
||||
|
||||
zoomToNormal.on('click', function() {
|
||||
@ -1482,7 +1484,6 @@ define('pgadmin.misc.explain', [
|
||||
'height': h * curr_zoom_factor,
|
||||
});
|
||||
planDiv.data('zoom-factor', curr_zoom_factor);
|
||||
zoomToNormal.trigger('blur');
|
||||
});
|
||||
|
||||
downloadBtn.on('click', function() {
|
||||
@ -1495,7 +1496,6 @@ define('pgadmin.misc.explain', [
|
||||
var today = new Date();
|
||||
var filename = 'explain_plan_' + today.getTime() + '.svg';
|
||||
svgDownloader.downloadSVG(s.toString(), filename);
|
||||
downloadBtn.trigger('blur');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -19,7 +19,7 @@ class dialogTabNavigator {
|
||||
|
||||
this.tabSwitching = false;
|
||||
|
||||
this.tabs = this.dialogContainer.find('.nav-tabs');
|
||||
this.tabs = this.dialogContainer.find('.nav-tabs:visible');
|
||||
|
||||
if (this.tabs.length > 0 ) {
|
||||
this.tabs = this.tabs[0];
|
||||
@ -35,7 +35,7 @@ class dialogTabNavigator {
|
||||
|
||||
onKeyboardEvent(event, shortcut) {
|
||||
var currentTabPane = this.dialogContainer
|
||||
.find('.tab-content:first > .tab-pane.active:first'),
|
||||
.find('.tab-content:first > .tab-pane.active:first:visible'),
|
||||
childTabData = this.isActivePaneHasChildTabs(currentTabPane);
|
||||
|
||||
if (this.tabSwitching) {
|
||||
@ -57,12 +57,12 @@ class dialogTabNavigator {
|
||||
}
|
||||
|
||||
isActivePaneHasChildTabs(currentTabPane) {
|
||||
var childTab = currentTabPane.find('.nav-tabs:first'),
|
||||
var childTab = currentTabPane.find('.nav-tabs:first:visible'),
|
||||
childTabPane;
|
||||
|
||||
if (childTab.length > 0) {
|
||||
childTabPane = currentTabPane
|
||||
.find('.tab-content:first > .tab-pane.active:first');
|
||||
.find('.tab-content:first > .tab-pane.active:first:visible');
|
||||
|
||||
return {
|
||||
'childTab': childTab,
|
||||
@ -93,7 +93,7 @@ class dialogTabNavigator {
|
||||
|
||||
nextTabPane = tab_pane.prev();
|
||||
innerTabContainer = nextTabPane
|
||||
.find('.tab-content:first > .tab-pane.active:first');
|
||||
.find('.tab-content:first > .tab-pane.active:first:visible');
|
||||
|
||||
if (innerTabContainer.length > 0) {
|
||||
findAndSetFocus(innerTabContainer);
|
||||
@ -124,7 +124,7 @@ class dialogTabNavigator {
|
||||
|
||||
nextTabPane = tab_pane.next();
|
||||
innerTabContainer = nextTabPane
|
||||
.find('.tab-content:first > .tab-pane.active:first');
|
||||
.find('.tab-content:first > .tab-pane.active:first:visible');
|
||||
|
||||
if (innerTabContainer.length > 0) {
|
||||
findAndSetFocus(innerTabContainer);
|
||||
|
Loading…
Reference in New Issue
Block a user