refactor(note_autocomplete): icon as separate field

This commit is contained in:
Elian Doran 2025-04-17 20:49:45 +03:00
parent 482243b419
commit 069e307ec4
No known key found for this signature in database
3 changed files with 7 additions and 3 deletions

View File

@ -21,6 +21,7 @@ function getSearchDelay(notesCount: number): number {
}
let searchDelay = getSearchDelay(notesCount);
// TODO: Deduplicate with server.
export interface Suggestion {
noteTitle?: string;
externalLink?: string;
@ -29,6 +30,7 @@ export interface Suggestion {
highlightedNotePathTitle?: string;
action?: string | "create-note" | "search-notes" | "external-link";
parentNoteId?: string;
icon?: string;
}
interface Options {
@ -262,7 +264,7 @@ function initNoteAutocomplete($el: JQuery<HTMLElement>, options?: Options) {
},
displayKey: "notePathTitle",
templates: {
suggestion: (suggestion) => suggestion.highlightedNotePathTitle
suggestion: (suggestion) => `<span class="${suggestion.icon ?? "bx bx-note"}"></span> ${suggestion.highlightedNotePathTitle}`
},
// we can't cache identical searches because notes can be created / renamed, new recent notes can be added
cache: false

View File

@ -75,7 +75,8 @@ function getRecentNotes(activeNoteId: string) {
notePath: rn.notePath,
noteTitle: title,
notePathTitle,
highlightedNotePathTitle: `<span class="${icon ?? "bx bx-note"}"></span> ${notePathTitle}`
highlightedNotePathTitle: utils.escapeHtml(notePathTitle),
icon: icon ?? "bx bx-note"
};
});
}

View File

@ -359,7 +359,8 @@ function searchNotesForAutocomplete(query: string, fastSearch: boolean = true) {
notePath: result.notePath,
noteTitle: title,
notePathTitle: `${icon} ${result.notePathTitle}`,
highlightedNotePathTitle: `<span class="${icon ?? "bx bx-note"}"></span> ${result.highlightedNotePathTitle}`
highlightedNotePathTitle: result.highlightedNotePathTitle,
icon: icon ?? "bx bx-note"
};
});
}