Buildings alphabetical sorting

The bulk of this small change was to sort buildings by alphabetical order according to translated names, instead of english strings.
This meant removing the ID splitting as well as hyphen/space replacing, as the ID is not considered for the test.
Also changed:
1. line 366: as the original english string is no longer necessary in the iteration, "name" takes the value of translated string. "name" is then used for alphabetical comparison (as before) with the right value.
2. line 378: removed the test on curPrev variable. Items already listed have been placed in alphabetical order, so there is no need to check whether each item actually follows value of control variable.
This commit is contained in:
Andrea Rendine
2015-04-29 23:52:58 +02:00
parent c3f7b620f5
commit 9c1ebecda7
+6 -5
View File
@@ -363,26 +363,27 @@ var Outside = {
updateVillageRow: function(name, num, village) {
var id = 'building_row_' + name.replace(' ', '-');
name = _(name);
var row = $('div#' + id, village);
if(row.length === 0 && num > 0) {
row = $('<div>').attr('id', id).addClass('storeRow');
$('<div>').addClass('row_key').text(_(name)).appendTo(row);
$('<div>').addClass('row_key').text(name).appendTo(row);
$('<div>').addClass('row_val').text(num).appendTo(row);
$('<div>').addClass('clear').appendTo(row);
var curPrev = null;
village.children().each(function(i) {
var child = $(this);
if(child.attr('id') != 'population') {
var cName = child.attr('id').substring(13).replace('-', ' ');
if(cName < name && (curPrev == null || cName > curPrev)) {
curPrev = cName;
var cName = child.children('.row_key').text();
if(cName < name) {
curPrev = child.attr('id');
}
}
});
if(curPrev == null) {
row.prependTo(village);
} else {
row.insertAfter('#building_row_' + curPrev.replace(' ', '-'));
row.insertAfter('#' + curPrev);
}
} else if(num > 0) {
$('div#' + row.attr('id') + ' > div.row_val', village).text(num);