public inbox for [email protected]  
help / color / mirror / Atom feed
From: Surinder Kumar <[email protected]>
To: Dave Page <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: [pgAdmin4][Patch]: RM1581 - When switching between query tabs, the selected tab is not ready to run a query
Date: Wed, 7 Sep 2016 19:57:19 +0530
Message-ID: <CAM5-9D_bVwwm3kqFkdb8tUaFSrj+psWtwy7GF=DNkgQyf2ge_g@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxoy9R7k7i9KV=D1Pvgj2J3xiZzb-bXBnoLBQRAfpC7E9eg@mail.gmail.com>
References: <CAM5-9D8weadRDyW5tbTvb1Jz+1tY940=E5U_HAL6AWpQjBBE3g@mail.gmail.com>
	<CA+OCxoy9R7k7i9KV=D1Pvgj2J3xiZzb-bXBnoLBQRAfpC7E9eg@mail.gmail.com>
List-Unsubscribe:  <mailto:[email protected]?body=unsub%20pgadmin-hackers>

Hi

Please find updated patch with below changes:
1. A code block is formatted, previously not aligned.
2. rebased the patch.
3. Remove trailing whitespace.

On Wed, Sep 7, 2016 at 6:33 PM, Dave Page <[email protected]> wrote:

> Hi
>
> This doesn't apply - can you rebase it please?
>
> Thanks.
>
> On Wed, Sep 7, 2016 at 12:46 PM, Surinder Kumar
> <[email protected]> wrote:
> > Hi
> >
> > This patch contains following changes:
> > 1) Set focus on query tool once loaded.
> > 2) While switching b/w panels find active tab and set focus on query
> tool.
> > 3) Remove whitespace from file.
> >
> > This will allow user to switch b/w panels without insisting user to
> click on
> > query tool.
> >
> > Please find attached patch and review.
> >
> > Thanks,
> > Surinder Kumar
> >
> >
> > --
> > Sent via pgadmin-hackers mailing list ([email protected])
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgadmin-hackers
> >
>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>


-- 
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers


Attachments:

  [application/octet-stream] RM1581_v1.patch (4.2K, 3-RM1581_v1.patch)
  download | inline diff:
diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
index ebc7077..615255c 100644
--- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
@@ -268,34 +268,47 @@ define(
 
         self.render_history_grid();
 
-       // Listen on the panel closed event and notify user to save modifications.
-       _.each(window.top.pgAdmin.Browser.docker.findPanels('frm_datagrid'), function(p) {
-         if(p.isVisible()) {
-           p.on(wcDocker.EVENT.CLOSING, function() {
-             // Only if we can edit data then perform this check
-             var notify = false, msg;
-             if(self.handler.can_edit) {
-               var data_store = self.handler.data_store;
-               if(_.size(data_store.added) ||
-                   _.size(data_store.updated)) {
-                 msg = '{{ _('The data has been modified, but not saved. Are you sure you wish to discard the changes?') }}';
-                 notify = true; 
-               }
-             } else if(self.handler.is_query_tool) {
-               // We will check for modified sql content
-               var sql = self.handler.gridView.query_tool_obj.getValue();
-               sql = sql.replace(/\s+/g, ''); 
-               // If it is an empty query, do nothing.
-               if (sql.length > 0) {
-                 msg = '{{ _('The query has been modified, but not saved. Are you sure you wish to discard the changes?') }}';
-                 notify = true; 
-               } 
-             }
-             if(notify) {return self.user_confirmation(p, msg);}
-             return true;
-           });
-         }
-       });
+        // Listen on the panel closed event and notify user to save modifications.
+        _.each(window.top.pgAdmin.Browser.docker.findPanels('frm_datagrid'), function(p) {
+          if(p.isVisible()) {
+            p.on(wcDocker.EVENT.CLOSING, function() {
+              // Only if we can edit data then perform this check
+              var notify = false, msg;
+              if(self.handler.can_edit) {
+                var data_store = self.handler.data_store;
+                if(_.size(data_store.added) ||
+                    _.size(data_store.updated)) {
+                  msg = '{{ _('The data has been modified, but not saved. Are you sure you wish to discard the changes?') }}';
+                  notify = true;
+                }
+              } else if(self.handler.is_query_tool) {
+                // We will check for modified sql content
+                var sql = self.handler.gridView.query_tool_obj.getValue();
+                sql = sql.replace(/\s+/g, '');
+                // If it is an empty query, do nothing.
+                if (sql.length > 0) {
+                  msg = '{{ _('The query has been modified, but not saved. Are you sure you wish to discard the changes?') }}';
+                  notify = true;
+                }
+              }
+              if(notify) {return self.user_confirmation(p, msg);}
+              return true;
+            });
+            // Set focus on query tool of active panel
+            p.on(wcDocker.EVENT.GAIN_FOCUS, function() {
+              if (!$(p.$container).hasClass('wcPanelTabContentHidden')) {
+                setTimeout(function() {
+                  self.handler.gridView.query_tool_obj.focus();
+                }, 200);
+              }
+            });
+          }
+        });
+
+        // set focus on query tool once loaded
+        setTimeout(function() {
+          self.query_tool_obj.focus();
+        }, 500);
 
         /* We have override/register the hint function of CodeMirror
          * to provide our own hint logic.
@@ -401,8 +414,8 @@ define(
 
       /* To prompt user for unsaved changes */
       user_confirmation: function(panel, msg) {
-        // If there is anything to save then prompt user 
-          alertify.confirm('{{ _('Unsaved changes') }}', msg, 
+        // If there is anything to save then prompt user
+          alertify.confirm('{{ _('Unsaved changes') }}', msg,
             function() {
               // Do nothing as user do not want to save, just continue
               window.onbeforeunload = null;


view thread (4+ 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], [email protected]
  Subject: Re: [pgAdmin4][Patch]: RM1581 - When switching between query tabs, the selected tab is not ready to run a query
  In-Reply-To: <CAM5-9D_bVwwm3kqFkdb8tUaFSrj+psWtwy7GF=DNkgQyf2ge_g@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