mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Support tab navigation in dialogs. Fixes #2898
This commit is contained in:
committed by
Dave Page
parent
3be22383b8
commit
aa1849c13a
@@ -2,9 +2,10 @@
|
||||
define([
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin.alertifyjs', 'backbone', 'pgadmin.backgrid',
|
||||
'pgadmin.backform', 'pgadmin.browser',
|
||||
'pgadmin.backform', 'pgadmin.browser', 'sources/utils',
|
||||
], function(
|
||||
gettext, url_for, $, _, S, alertify, Backbone, Backgrid, Backform, pgBrowser
|
||||
gettext, url_for, $, _, S, alertify, Backbone, Backgrid, Backform, pgBrowser,
|
||||
commonUtils
|
||||
) {
|
||||
|
||||
// if module is already initialized, refer to that.
|
||||
@@ -696,6 +697,9 @@ define([
|
||||
|
||||
this.elements.content.appendChild($container.get(0));
|
||||
|
||||
var container = view.$el.find('.tab-content:first > .tab-pane.active:first');
|
||||
commonUtils.findAndSetFocus(container);
|
||||
|
||||
// Listen to model & if filename is provided then enable Backup button
|
||||
this.view.model.on('change', function() {
|
||||
if (!_.isUndefined(this.get('file')) && this.get('file') !== '') {
|
||||
@@ -940,6 +944,13 @@ define([
|
||||
|
||||
this.elements.content.appendChild($container.get(0));
|
||||
|
||||
if(view) {
|
||||
view.$el.attr('tabindex', -1);
|
||||
// var dialogTabNavigator = pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
|
||||
pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
|
||||
var container = view.$el.find('.tab-content:first > .tab-pane.active:first');
|
||||
commonUtils.findAndSetFocus(container);
|
||||
}
|
||||
// Listen to model & if filename is provided then enable Backup button
|
||||
this.view.model.on('change', function() {
|
||||
if (!_.isUndefined(this.get('file')) && this.get('file') !== '') {
|
||||
|
@@ -89,8 +89,10 @@ define([
|
||||
cell: Backgrid.Extension.SelectRowCell.extend({
|
||||
render: function() {
|
||||
|
||||
// Use the Backform Control's render function
|
||||
Backgrid.Extension.SelectRowCell.prototype.render.apply(this, arguments);
|
||||
// Do not use parent's render function. It set's tabindex to -1 on
|
||||
// checkboxes.
|
||||
this.$el.empty().append('<input type="checkbox" />');
|
||||
this.delegateEvents();
|
||||
|
||||
var col = this.column.get('name');
|
||||
if (this.model && this.model.has(col)) {
|
||||
|
@@ -1,9 +1,10 @@
|
||||
define([
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'underscore.string', 'pgadmin.alertifyjs',
|
||||
'sources/pgadmin', 'pgadmin.browser', 'backbone', 'backgrid', 'backform',
|
||||
'pgadmin.backform', 'pgadmin.backgrid', 'pgadmin.browser.node.ui',
|
||||
'sources/utils', 'pgadmin.backform', 'pgadmin.backgrid', 'pgadmin.browser.node.ui',
|
||||
], function(
|
||||
gettext, url_for, $, _, S, Alertify, pgAdmin, pgBrowser, Backbone, Backgrid, Backform
|
||||
gettext, url_for, $, _, S, Alertify, pgAdmin, pgBrowser, Backbone, Backgrid,
|
||||
Backform, commonUtils
|
||||
) {
|
||||
|
||||
pgAdmin = pgAdmin || window.pgAdmin || {};
|
||||
@@ -652,6 +653,12 @@ define([
|
||||
// Give the dialog initial height & width
|
||||
this.elements.dialog.style.minHeight = '80%';
|
||||
this.elements.dialog.style.minWidth = '70%';
|
||||
|
||||
view.$el.attr('tabindex', -1);
|
||||
// var dialogTabNavigator = pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
|
||||
pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
|
||||
var container = view.$el.find('.tab-content:first > .tab-pane.active:first');
|
||||
commonUtils.findAndSetFocus(container);
|
||||
},
|
||||
};
|
||||
});
|
||||
|
@@ -1,12 +1,12 @@
|
||||
define([
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin.alertifyjs', 'sources/pgadmin', 'pgadmin.browser', 'backbone',
|
||||
'backgrid', 'backform',
|
||||
'backgrid', 'backform', 'sources/utils',
|
||||
'pgadmin.backform', 'pgadmin.backgrid',
|
||||
'pgadmin.browser.node.ui',
|
||||
], function(
|
||||
gettext, url_for, $, _, S, Alertify, pgAdmin, pgBrowser, Backbone, Backgrid,
|
||||
Backform
|
||||
Backform, commonUtils
|
||||
) {
|
||||
|
||||
pgAdmin = pgAdmin || window.pgAdmin || {};
|
||||
@@ -468,6 +468,10 @@ define([
|
||||
$(reindex_btn).addClass('active');
|
||||
}
|
||||
|
||||
view.$el.attr('tabindex', -1);
|
||||
var container = view.$el.find('.tab-content:first > .tab-pane.active:first');
|
||||
commonUtils.findAndSetFocus(container);
|
||||
|
||||
this.elements.content.appendChild($container.get(0));
|
||||
},
|
||||
};
|
||||
|
@@ -2,9 +2,10 @@
|
||||
define('tools.restore', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'backbone',
|
||||
'underscore.string', 'pgadmin.alertifyjs', 'pgadmin.browser',
|
||||
'pgadmin.backgrid', 'pgadmin.backform',
|
||||
'pgadmin.backgrid', 'pgadmin.backform', 'sources/utils',
|
||||
], function(
|
||||
gettext, url_for, $, _, Backbone, S, alertify, pgBrowser, Backgrid, Backform
|
||||
gettext, url_for, $, _, Backbone, S, alertify, pgBrowser, Backgrid, Backform,
|
||||
commonUtils
|
||||
) {
|
||||
|
||||
// if module is already initialized, refer to that.
|
||||
@@ -572,6 +573,12 @@ define('tools.restore', [
|
||||
|
||||
this.elements.content.appendChild($container.get(0));
|
||||
|
||||
view.$el.attr('tabindex', -1);
|
||||
// var dialogTabNavigator = pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
|
||||
pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
|
||||
var container = view.$el.find('.tab-content:first > .tab-pane.active:first');
|
||||
commonUtils.findAndSetFocus(container);
|
||||
|
||||
// Listen to model & if filename is provided then enable Backup button
|
||||
this.view.model.on('change', function() {
|
||||
if (!_.isUndefined(this.get('file')) && this.get('file') !== '') {
|
||||
|
Reference in New Issue
Block a user