public inbox for [email protected]  
help / color / mirror / Atom feed
From: Murtuza Zabuawala <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: PATCH: Do not sort columns based on their lables (pgAdmin4)
Date: Wed, 14 Sep 2016 12:52:24 +0530
Message-ID: <CAKKotZQgKh0xP2wz+5+PKkc2V9mGQM6qzAwQHTSaTC-+s-G2pQ@mail.gmail.com> (raw)
List-Unsubscribe:  <mailto:[email protected]?body=unsub%20pgadmin-hackers>

Hi,

PFA patch to fix the issue where we were sorting columns based on labels
instead of their position.
RM#1687

Please review.
--
Regards,
Murtuza Zabuawala
EnterpriseDB: 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:

  [text/x-patch] RM_1687.patch (3.0K, 3-RM_1687.patch)
  download | inline diff:
diff --git a/web/pgadmin/browser/templates/browser/js/browser.js b/web/pgadmin/browser/templates/browser/js/browser.js
index 7a202e8..2e494ab 100644
--- a/web/pgadmin/browser/templates/browser/js/browser.js
+++ b/web/pgadmin/browser/templates/browser/js/browser.js
@@ -35,7 +35,7 @@ function(require, $, _, S, Bootstrap, pgAdmin, Alertify, CodeMirror) {
 
   var processTreeData = function(payload) {
     var data = JSON.parse(payload).data.sort(function(a, b) {
-      return pgAdmin.natural_sort(a.label, b.label, {});
+        return pgAdmin.natural_sort(a.label, b.label, {'_type': a._type});
     });
     _.each(data, function(d){
       d._label = d.label;
@@ -855,7 +855,7 @@ function(require, $, _, S, Bootstrap, pgAdmin, Alertify, CodeMirror) {
                           d = ctx.t.itemData(i);
                           if (
                             pgAdmin.natural_sort(
-                              d._label, _data._label, {}
+                              d._label, _data._label, {'_type': d._type}
                             ) == 1
                           )
                             return true;
@@ -880,7 +880,7 @@ function(require, $, _, S, Bootstrap, pgAdmin, Alertify, CodeMirror) {
                           d = ctx.t.itemData(i);
                           if (
                             pgAdmin.natural_sort(
-                              d._label, _data._label, {}
+                              d._label, _data._label, {'_type': d._type}
                             ) != -1
                           )
                             return true;
@@ -888,7 +888,7 @@ function(require, $, _, S, Bootstrap, pgAdmin, Alertify, CodeMirror) {
                           d = ctx.t.itemData(i);
                           if (
                             pgAdmin.natural_sort(
-                              d._label, _data._label, {}
+                              d._label, _data._label, {'_type': d._type}
                             ) != 1
                           )
                             return true;
@@ -897,7 +897,7 @@ function(require, $, _, S, Bootstrap, pgAdmin, Alertify, CodeMirror) {
                           d = ctx.t.itemData(i);
                           if (
                             pgAdmin.natural_sort(
-                              d._label, _data._label, {}
+                              d._label, _data._label, {'_type': d._type}
                             ) == 1
                           ) {
                             s = m + 1;
diff --git a/web/pgadmin/static/js/pgadmin.js b/web/pgadmin/static/js/pgadmin.js
index 7ab1e3f..fd175f7 100644
--- a/web/pgadmin/static/js/pgadmin.js
+++ b/web/pgadmin/static/js/pgadmin.js
@@ -40,6 +40,11 @@
         oFxNcL, oFyNcL,
         mult = options.desc ? -1 : 1;
 
+    // If object is of column type then do not sort
+    if(options.hasOwnProperty("_type") && options._type &&
+        (options._type != 'column' || options._type != 'catalog_object_column'))
+      return 0;
+
     // first try and sort Hex codes or Dates
     if (yD)
       if ( xD < yD ) return -1 * mult;


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: PATCH: Do not sort columns based on their lables (pgAdmin4)
  In-Reply-To: <CAKKotZQgKh0xP2wz+5+PKkc2V9mGQM6qzAwQHTSaTC-+s-G2pQ@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