Skip to content

Commit d263f01

Browse files
[6.x] Avoid searching server results with fuzzysort (#13792)
Co-authored-by: Jason Varga <jason@pixelfear.com>
1 parent dc5d62d commit d263f01

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

resources/js/components/command-palette/CommandPalette.vue

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,36 @@ const aggregatedItems = computed(() => [
7676
7777
const results = computed(() => {
7878
let items = aggregatedItems.value.map(item => normalizeItem(item));
79+
let filterableItems = items.filter(item => item.category !== 'Content Search');
80+
const highlightClasses = 'text-blue-600 dark:text-blue-400 underline underline-offset-4 decoration-blue-200 dark:decoration-blue-600/45';
7981
8082
let filtered = fuzzysort
81-
.go(query.value, items, {
83+
.go(query.value, filterableItems, {
8284
all: true,
8385
keys: ['text'],
8486
scoreFn: fuzzysortScoringAlgorithm,
8587
})
8688
.map(result => {
8789
return {
8890
score: result._score,
89-
html: result[0].highlight('<span class="text-blue-600 dark:text-blue-400 underline underline-offset-4 decoration-blue-200 dark:decoration-blue-600/45">', '</span>'),
91+
html: result[0].highlight(`<span class="${highlightClasses}">`, '</span>'),
9092
...result.obj,
9193
};
9294
});
9395
96+
let contentSearchResults = items
97+
.filter(item => item.category === 'Content Search')
98+
.map(item => {
99+
let result = fuzzysort.single(query.value, item.text);
100+
101+
return {
102+
...item,
103+
html: result?.highlight(`<span class="${highlightClasses}">`, '</span>') || item.text,
104+
};
105+
});
106+
107+
filtered = [...contentSearchResults, ...filtered];
108+
94109
let categoryOrder = query.value
95110
? uniq(filtered.map(item => item.category))
96111
: serverCategories;

0 commit comments

Comments
 (0)