kopia lustrzana https://github.com/miklobit/TiddlyWiki5
Use localCompare for sorting strings
So that accented characters get sorted correctly. Or at least as correctly as browsers allow.print-window-tiddler
rodzic
95d291daac
commit
bb42c0ab36
|
@ -305,28 +305,18 @@ exports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,is
|
||||||
a = self.getTiddler(a).fields[sortField] || "";
|
a = self.getTiddler(a).fields[sortField] || "";
|
||||||
b = self.getTiddler(b).fields[sortField] || "";
|
b = self.getTiddler(b).fields[sortField] || "";
|
||||||
}
|
}
|
||||||
if(!isNumeric || isNaN(a) || isNaN(b)) {
|
if(isNumeric) {
|
||||||
|
a = Number(a);
|
||||||
|
b = Number(b);
|
||||||
|
return isDescending ? b - a : a - b;
|
||||||
|
} else {
|
||||||
|
a = String(a);
|
||||||
|
b = String(b);
|
||||||
if(!isCaseSensitive) {
|
if(!isCaseSensitive) {
|
||||||
if(typeof a === "string") {
|
|
||||||
a = a.toLowerCase();
|
a = a.toLowerCase();
|
||||||
}
|
|
||||||
if(typeof b === "string") {
|
|
||||||
b = b.toLowerCase();
|
b = b.toLowerCase();
|
||||||
}
|
}
|
||||||
}
|
return isDescending ? b.localeCompare(a) : a.localeCompare(b);
|
||||||
}
|
|
||||||
else {
|
|
||||||
a-= 0;
|
|
||||||
b-= 0;
|
|
||||||
}
|
|
||||||
if(a < b) {
|
|
||||||
return isDescending ? +1 : -1;
|
|
||||||
} else {
|
|
||||||
if(a > b) {
|
|
||||||
return isDescending ? -1 : +1;
|
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
Ładowanie…
Reference in New Issue