Don't sort columns (tables, views, matviews, catalogs etc) on the treeview by name, but by ordinal. Fixes #1687

This commit is contained in:
Murtuza Zabuawala
2016-09-14 11:13:50 +01:00
committed by Dave Page
parent 2ee631d6fc
commit 4ba8f4830b
2 changed files with 10 additions and 5 deletions

View File

@@ -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;

View File

@@ -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;