Bug 736572 - Show arrow after sorting column in pageInfo. Provide empty string for comparison function if no according attribute was set. r=jaws

This commit is contained in:
Michael Weisz 2015-03-05 20:16:18 +01:00
parent 3c19cf9d3a
commit fb373fe764

View File

@ -98,11 +98,19 @@ pageInfoTreeView.prototype = {
this,
this.data,
treecol.index,
function textComparator(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); },
function textComparator(a, b) { return (a || "").toLowerCase().localeCompare((b || "").toLowerCase()); },
this.sortcol,
this.sortdir
);
Array.forEach(tree.columns, function(col) {
col.element.removeAttribute("sortActive");
col.element.removeAttribute("sortDirection");
});
treecol.element.setAttribute("sortActive", "true");
treecol.element.setAttribute("sortDirection", this.sortdir ?
"ascending" : "descending");
this.sortcol = treecol.index;
},
@ -112,7 +120,7 @@ pageInfoTreeView.prototype = {
isContainer: function(index) { return false; },
isContainerOpen: function(index) { return false; },
isSeparator: function(index) { return false; },
isSorted: function() { },
isSorted: function() { return this.sortcol > -1 },
canDrop: function(index, orientation) { return false; },
drop: function(row, orientation) { return false; },
getParentIndex: function(index) { return 0; },
@ -187,10 +195,11 @@ gImageView.onPageMediaSort = function(columnname) {
var treecol = tree.columns.getNamedColumn(columnname);
var comparator;
if (treecol.index == COL_IMAGE_SIZE || treecol.index == COL_IMAGE_COUNT) {
var index = treecol.index;
if (index == COL_IMAGE_SIZE || index == COL_IMAGE_COUNT) {
comparator = function numComparator(a, b) { return a - b; };
} else {
comparator = function textComparator(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); };
comparator = function textComparator(a, b) { return (a || "").toLowerCase().localeCompare((b || "").toLowerCase()); };
}
this.sortdir =
@ -198,13 +207,21 @@ gImageView.onPageMediaSort = function(columnname) {
tree,
this,
this.data,
treecol.index,
index,
comparator,
this.sortcol,
this.sortdir
);
this.sortcol = treecol.index;
Array.forEach(tree.columns, function(col) {
col.element.removeAttribute("sortActive");
col.element.removeAttribute("sortDirection");
});
treecol.element.setAttribute("sortActive", "true");
treecol.element.setAttribute("sortDirection", this.sortdir ?
"ascending" : "descending");
this.sortcol = index;
};
var gImageHash = { };