Skip to content

Commit d039b06

Browse files
committed
#103 Sort facet items for their counts
1 parent 32833da commit d039b06

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/lib/components/Facets/Facets.svelte

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,8 @@
110110
changed.length && dispatch('facetSelect', changed);
111111
};
112112
113-
// Keeping the sorting function, but stays unused for now
114113
const sortOptions = () => {
115-
// Sort facets in a descending order if count exits, or sort alphabetically
114+
// Sort facets in a descending order if count exits
116115
Object.keys(selected).forEach((group) => {
117116
const checked = Object.keys(selected[group].children)
118117
.filter((item) => selected[group].children[item].selected)
@@ -121,13 +120,20 @@
121120
if (a.count != undefined && b.count != undefined) {
122121
return b.count - a.count;
123122
}
124-
return a.displayName.localeCompare(b.displayName);
123+
return 0;
125124
})
126125
.map((item) => item.name);
127126
128-
const unchecked = Object.keys(selected[group].children).filter(
129-
(item) => !checked.includes(item)
130-
);
127+
const unchecked = Object.keys(selected[group].children)
128+
.filter((item) => !checked.includes(item))
129+
.map((item) => selected[group].children[item])
130+
.sort((a, b) => {
131+
if (a.count != undefined && b.count != undefined) {
132+
return b.count - a.count;
133+
}
134+
return 0;
135+
})
136+
.map((item) => item.name);
131137
132138
const groupIndex = displayedGroups.findIndex((g) => g.name === group);
133139
@@ -172,7 +178,7 @@
172178
});
173179
174180
$: displayedGroups = structuredClone($groups);
175-
$: selectedItems, mapSelected('items'); // sortOptions(); // Sorting is not used for now
181+
$: selectedItems, mapSelected('items'), sortOptions();
176182
$: selectedGroups, mapSelected('groups');
177183
</script>
178184

0 commit comments

Comments
 (0)