PHRAS-896 - fix duplicated facets in workzone

This commit is contained in:
Florian Blouet
2016-02-11 10:55:42 +01:00
committed by Benoît Burnichon
parent a1c5148700
commit 15634e1cd4

View File

@@ -637,12 +637,12 @@ function loadFacets(facets) {
} }
function sortByPredefinedFacets(source, field, predefinedFieldOrder) { function sortByPredefinedFacets(source, field, predefinedFieldOrder) {
var filteredSource = _.extend([], source), var filteredSource = source,
ordered = []; ordered = [];
_.forEach(predefinedFieldOrder, function(fieldValue, index){ _.forEach(predefinedFieldOrder, function (fieldValue, index) {
_.forEach(source, function(facet, facetIndex) { _.forEach(source, function (facet, facetIndex) {
if( facet[field] !== undefined) { if (facet[field] !== undefined) {
if (facet[field] === fieldValue) { if (facet[field] === fieldValue) {
ordered.push(facet); ordered.push(facet);
// remove from filtered // remove from filtered
@@ -651,16 +651,15 @@ function sortByPredefinedFacets(source, field, predefinedFieldOrder) {
} }
}); });
}); });
// push reordoned objects on top of array:
// walk backward var olen = filteredSource.length;
var olen = ordered.length; // fill predefined facets with non predefined facets
for(var i = olen-1; i>=0; i--) { for (var i = 0; i < olen; i++) {
filteredSource.unshift(ordered[i]); ordered.push(filteredSource[i]);
} }
return ordered;
return filteredSource;
} }
// from stackoverflow // from stackoverflow
// http://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects/979325#979325 // http://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects/979325#979325
function sortFacets(field, reverse, primer) { function sortFacets(field, reverse, primer) {