Widget:indexSorterGrouper: Difference between revisions
Jump to navigation
Jump to search
m Fixed initial sort bug |
Added grouping for class/rarity |
||
Line 83: | Line 83: | ||
}; | }; | ||
tdollSorter(comparer); | var grouper = getClassAndRarityGrouper(); | ||
tdollSorter(comparer, grouper); | |||
} | } | ||
Line 95: | Line 97: | ||
}; | }; | ||
tdollSorter(comparer); | var grouper = getClassAndRarityGrouper(); | ||
tdollSorter(comparer, grouper ); | |||
} | |||
function getClassAndRarityGrouper() { | |||
var grouper = function (parent, elements) { | |||
createClassRarityGroup(parent, elements.first()); | |||
$.grep(elements, function(element, i) { | |||
if (elements.length <= i+1) { | |||
return true; | |||
} | |||
var nextElement = elements[i+1]; | |||
createClassRarityGroup($(element), nextElement); | |||
return true; | |||
}); | |||
}; | |||
return grouper; | |||
} | |||
function createClassRarityGroup(element1, nextElement) { | |||
var currentKey = getSortKeyForClassRarityName(element1, true); | |||
var nextElementKey = getSortKeyForClassRarityName(nextElement, true); | |||
if (currentKey !== nextElementKey) { | |||
var linebreaker = $("<br />").addClass("addedbysorter"); | |||
linebreaker.insertAfter(element1); | |||
var groupHeaderText = $(nextElement).data('classification') + " " + getNumberForRarity(nextElement) + "-Star"; | |||
var groupHeader = $("<h3 />").text(groupHeaderText).addClass("addedbysorter"); | |||
groupHeader.insertAfter(linebreaker); | |||
} | |||
} | } | ||
function getSortKeyForClassRarityName(element) { | function getSortKeyForClassRarityName(element, withoutName) { | ||
var classification = getNumberForClassification(element); | var classification = getNumberForClassification(element); | ||
var rarity = getNumberForRarity(element); | var rarity = getNumberForRarity(element); | ||
var name = $(element).data('name'); | var name = $(element).data('name'); | ||
return classification + "_" + rarity + "_" + name; | return classification + "_" + rarity + (withoutName ? "" : ("_" + name)); | ||
} | } | ||
Revision as of 17:09, 1 May 2018
Released on this server: