From 598586f7359476f397518f43bb7f238605bc3bd7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 4 Mar 2025 18:30:43 +0200 Subject: [PATCH] feat(note_language): update value of combobox --- src/public/app/widgets/note_language.ts | 30 +++++++++++++++---------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/public/app/widgets/note_language.ts b/src/public/app/widgets/note_language.ts index 800ed7a88..63b83bed6 100644 --- a/src/public/app/widgets/note_language.ts +++ b/src/public/app/widgets/note_language.ts @@ -22,6 +22,19 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget { private $noteLanguageDropdown!: JQuery; private $noteLanguageButton!: JQuery; private $noteLanguageDesc!: JQuery; + private locales: (Locale | "---")[]; + + constructor() { + super(); + this.locales = [ + { + id: "", + name: t("note_language.not_set") + }, + "---", + ...getAvailableLocales() + ]; + } doRender() { this.$widget = $(TPL); @@ -40,16 +53,7 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget { return; } - const locales: (Locale | "---")[] = [ - { - id: "", - name: t("note_language.not_set") - }, - "---", - ...getAvailableLocales() - ]; - - for (const locale of locales) { + for (const locale of this.locales) { if (typeof locale === "object") { const $title = $("").text(locale.name); const $link = $('') @@ -78,11 +82,13 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget { } async refreshWithNote(note: FNote) { - this.$noteLanguageDesc.text(t("note_language.not_set")); + const languageId = note.getLabelValue("language") ?? ""; + const language = this.locales.find((l) => (typeof l === "object" && l.id === languageId)) as Locale; + this.$noteLanguageDesc.text(language.name); } async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) { - if (loadResults.isNoteReloaded(this.noteId)) { + if (loadResults.getAttributeRows().find((a) => a.noteId === this.noteId && a.name === "language")) { this.refresh(); } }