mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-12 20:02:28 +08:00
feat(note_language): update value of combobox
This commit is contained in:
parent
bccfeed431
commit
598586f735
@ -22,6 +22,19 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget {
|
|||||||
private $noteLanguageDropdown!: JQuery<HTMLElement>;
|
private $noteLanguageDropdown!: JQuery<HTMLElement>;
|
||||||
private $noteLanguageButton!: JQuery<HTMLElement>;
|
private $noteLanguageButton!: JQuery<HTMLElement>;
|
||||||
private $noteLanguageDesc!: JQuery<HTMLElement>;
|
private $noteLanguageDesc!: JQuery<HTMLElement>;
|
||||||
|
private locales: (Locale | "---")[];
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.locales = [
|
||||||
|
{
|
||||||
|
id: "",
|
||||||
|
name: t("note_language.not_set")
|
||||||
|
},
|
||||||
|
"---",
|
||||||
|
...getAvailableLocales()
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
doRender() {
|
doRender() {
|
||||||
this.$widget = $(TPL);
|
this.$widget = $(TPL);
|
||||||
@ -40,16 +53,7 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const locales: (Locale | "---")[] = [
|
for (const locale of this.locales) {
|
||||||
{
|
|
||||||
id: "",
|
|
||||||
name: t("note_language.not_set")
|
|
||||||
},
|
|
||||||
"---",
|
|
||||||
...getAvailableLocales()
|
|
||||||
];
|
|
||||||
|
|
||||||
for (const locale of locales) {
|
|
||||||
if (typeof locale === "object") {
|
if (typeof locale === "object") {
|
||||||
const $title = $("<span>").text(locale.name);
|
const $title = $("<span>").text(locale.name);
|
||||||
const $link = $('<a class="dropdown-item">')
|
const $link = $('<a class="dropdown-item">')
|
||||||
@ -78,11 +82,13 @@ export default class NoteLanguageWidget extends NoteContextAwareWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async refreshWithNote(note: FNote) {
|
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">) {
|
async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) {
|
||||||
if (loadResults.isNoteReloaded(this.noteId)) {
|
if (loadResults.getAttributeRows().find((a) => a.noteId === this.noteId && a.name === "language")) {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user