public inbox for [email protected]  
help / color / mirror / Atom feed
From: Aditya Toshniwal <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: backup accessecibility
Date: Wed, 23 Jan 2019 15:54:47 +0530
Message-ID: <CAM9w-_k3pY=trymnWnH8BjG_fWdpaO7iQ2G_=LjYU0bb4WA5Ag@mail.gmail.com> (raw)

PFA

-- 
Thanks and Regards,
Aditya Toshniwal
Software Engineer | EnterpriseDB Software Solutions | Pune
"Don't Complain about Heat, Plant a tree"


Attachments:

  [application/octet-stream] backup.access.patch (3.2K, 3-backup.access.patch)
  download | inline diff:
diff --git a/web/pgadmin/static/js/alertify/dialog_wrapper.js b/web/pgadmin/static/js/alertify/dialog_wrapper.js
index 75452f2b..82d236f9 100644
--- a/web/pgadmin/static/js/alertify/dialog_wrapper.js
+++ b/web/pgadmin/static/js/alertify/dialog_wrapper.js
@@ -8,6 +8,7 @@
 //////////////////////////////////////////////////////////////
 
 import * as commonUtils from '../utils';
+import $ from 'jquery';
 
 export class DialogWrapper {
   constructor(
@@ -53,11 +54,25 @@ export class DialogWrapper {
     return undefined;
   }
 
-  focusOnDialog(dialog) {
-    dialog.$el.attr('tabindex', -1);
-    this.pgBrowser.keyboardNavigation.getDialogTabNavigator(dialog);
-    const container = dialog.$el.find('.tab-content:first > .tab-pane.active:first');
+  focusOnDialog(alertifyDialog) {
+    let backform_tab = $(alertifyDialog.elements.body).find('.backform-tab');
+    backform_tab.attr('tabindex', -1);
+    this.pgBrowser.keyboardNavigation.getDialogTabNavigator($(alertifyDialog.elements.dialog));
+    const container = backform_tab.find('.tab-content:first > .tab-pane.active:first');
     commonUtils.findAndSetFocus(container);
+
+    $(alertifyDialog.elements.footer).on('keydown', 'button', function(event) {
+      if (event.keyCode == 9 && $(this).nextAll('button:not([disabled])').length == 0) {
+        // set focus back to first editable input element of current active tab once we cycle through all enabled buttons.
+        commonUtils.findAndSetFocus($(alertifyDialog.elements.body).find('.tab-content div.active'));
+        return false;
+      }
+    });
+      
+
+
+
+
   }
 
   isNodeSelected(selectedTreeNode) {
diff --git a/web/pgadmin/static/js/utils.js b/web/pgadmin/static/js/utils.js
index 86727a19..27b999f7 100644
--- a/web/pgadmin/static/js/utils.js
+++ b/web/pgadmin/static/js/utils.js
@@ -28,7 +28,7 @@ export function findAndSetFocus(container) {
 
     if (first_el.length == 0) {
       first_el = container
-        .find('.pgadmin-controls:first>input:enabled,.CodeMirror-scroll');
+        .find('.pgadmin-controls:first input:enabled,.CodeMirror-scroll');
     }
 
     if(first_el.length > 0) {
diff --git a/web/pgadmin/tools/backup/static/js/backup_dialog_wrapper.js b/web/pgadmin/tools/backup/static/js/backup_dialog_wrapper.js
index 931d0a02..a9a01e5d 100644
--- a/web/pgadmin/tools/backup/static/js/backup_dialog_wrapper.js
+++ b/web/pgadmin/tools/backup/static/js/backup_dialog_wrapper.js
@@ -99,7 +99,7 @@ export class BackupDialogWrapper extends DialogWrapper {
 
     this.elements.content.appendChild($container.get(0));
 
-    this.focusOnDialog(dialog);
+    this.focusOnDialog(this);
     this.setListenersForFilenameChanges();
   }
 
diff --git a/web/pgadmin/tools/restore/static/js/restore_dialog_wrapper.js b/web/pgadmin/tools/restore/static/js/restore_dialog_wrapper.js
index 0d211aec..aba30480 100644
--- a/web/pgadmin/tools/restore/static/js/restore_dialog_wrapper.js
+++ b/web/pgadmin/tools/restore/static/js/restore_dialog_wrapper.js
@@ -99,7 +99,7 @@ export class RestoreDialogWrapper extends DialogWrapper {
 
     this.elements.content.appendChild($container.get(0));
 
-    this.focusOnDialog(dialog);
+    this.focusOnDialog(this);
     this.setListenersForFilenameChanges();
   }
 


view thread (2+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: backup accessecibility
  In-Reply-To: <CAM9w-_k3pY=trymnWnH8BjG_fWdpaO7iQ2G_=LjYU0bb4WA5Ag@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox