better sorting of geonames

This commit is contained in:
rolux 2011-05-24 14:50:16 +02:00
commit 32b2da184a
4 changed files with 49 additions and 19 deletions

View file

@ -13,8 +13,8 @@ Ox.TextList <f:Ox.Element> TextList Object
format <f>
id <s>
removable <b>
map <f> function that maps values to sort values
operator <s> default sort operator
sort <f> function that maps values to sort values
title <s>
unique <b> If true, this column acts as unique id
visible <b>
@ -254,11 +254,15 @@ Ox.TextList = function(options, self) {
Ox.print('clickColumn', id);
var i = getColumnIndexById(id),
isSelected = self.options.sort[0].key == self.options.columns[i].id;
that.sortList(
self.options.columns[i].id, isSelected ?
(self.options.sort[0].operator == '+' ? '-' : '+') :
self.options.columns[i].operator
);
that.$body.options({
sort: [{
key: self.options.columns[i].id,
operator: isSelected ?
(self.options.sort[0].operator == '+' ? '-' : '+') :
self.options.columns[i].operator,
map: self.options.columns[i].map
}]
});
}
function constructHead() {
@ -729,7 +733,11 @@ Ox.TextList = function(options, self) {
that.sortList = function(key, operator) {
var isSelected = key == self.options.sort[0].key;
self.options.sort = [{key: key, operator: operator}];
self.options.sort = [{
key: key,
operator: operator,
map: self.options.columns[self.selectedColumn].sort
}];
if (self.options.columnsVisible) {
if (isSelected) {
updateOrder(self.options.columns[self.selectedColumn].id);
@ -745,7 +753,7 @@ Ox.TextList = function(options, self) {
that.$body.sortList(
self.options.sort[0].key,
self.options.sort[0].operator,
self.options.columns[self.selectedColumn].sort
self.options.sort[0].map
);
}, 10);
return that;