From d31ba6f47c2707dd57a3e996e16e13f82842af13 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 4 Mar 2025 21:04:50 +0200 Subject: [PATCH] feat(note_language): add checkbox --- src/public/app/widgets/note_language.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/public/app/widgets/note_language.ts b/src/public/app/widgets/note_language.ts index 72171816f..79134fd5e 100644 --- a/src/public/app/widgets/note_language.ts +++ b/src/public/app/widgets/note_language.ts @@ -34,6 +34,7 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget { private $noteLanguageDropdown!: JQuery; private $noteLanguageDesc!: JQuery; private locales: (Locale | "---")[]; + private currentLanguageId?: string; constructor() { super(); @@ -85,9 +86,13 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget { .append(' ') .append($title) .on("click", () => { - const languageId = $link.attr("data-language") ?? ""; - this.save(languageId); - }) + const languageId = $link.attr("data-language") ?? ""; + this.save(languageId); + }); + + if (locale.id === this.currentLanguageId) { + $link.addClass("selected"); + } this.$noteLanguageDropdown.append($link); } else { @@ -105,8 +110,9 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget { } async refreshWithNote(note: FNote) { - const languageId = note.getLabelValue("language") ?? ""; - const language = (this.locales.find((l) => (typeof l === "object" && l.id === languageId)) as Locale | null) ?? DEFAULT_LOCALE; + const currentLanguageId = note.getLabelValue("language") ?? ""; + const language = (this.locales.find((l) => (typeof l === "object" && l.id === currentLanguageId)) as Locale | null) ?? DEFAULT_LOCALE; + this.currentLanguageId = currentLanguageId; this.$noteLanguageDesc.text(language.name); this.dropdown.hide(); }