mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-13 04:13:19 +08:00
feat(client): create an empty language switcher at note level
This commit is contained in:
parent
c0c85e96ce
commit
642b84ce6b
30
src/public/app/widgets/note_language.ts
Normal file
30
src/public/app/widgets/note_language.ts
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { Dropdown } from "bootstrap";
|
||||||
|
import NoteContextAwareWidget from "./note_context_aware_widget.js";
|
||||||
|
|
||||||
|
const TPL = `\
|
||||||
|
<div class="dropdown note-language-widget">
|
||||||
|
<button type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-sm dropdown-toggle select-button note-language-button">
|
||||||
|
<span class="note-language-desc"></span>
|
||||||
|
<span class="caret"></span>
|
||||||
|
</button>
|
||||||
|
<div class="note-language-dropdown dropdown-menu dropdown-menu-left tn-dropdown-list"></div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
export default class NoteLanguageWidget extends NoteContextAwareWidget {
|
||||||
|
|
||||||
|
private dropdown!: Dropdown;
|
||||||
|
private $noteLanguageDropdown!: JQuery<HTMLElement>;
|
||||||
|
private $noteLanguageButton!: JQuery<HTMLElement>;
|
||||||
|
private $noteLanguageDesc!: JQuery<HTMLElement>;
|
||||||
|
|
||||||
|
doRender() {
|
||||||
|
this.$widget = $(TPL);
|
||||||
|
this.dropdown = Dropdown.getOrCreateInstance(this.$widget.find("[data-bs-toggle='dropdown']")[0]);
|
||||||
|
|
||||||
|
this.$noteLanguageDropdown = this.$widget.find(".note-language-dropdown")
|
||||||
|
this.$noteLanguageButton = this.$widget.find(".note-language-button");
|
||||||
|
this.$noteLanguageDesc = this.$widget.find(".note-language-desc");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -7,6 +7,7 @@ import SharedSwitchWidget from "../shared_switch.js";
|
|||||||
import { t } from "../../services/i18n.js";
|
import { t } from "../../services/i18n.js";
|
||||||
import TemplateSwitchWidget from "../template_switch.js";
|
import TemplateSwitchWidget from "../template_switch.js";
|
||||||
import type FNote from "../../entities/fnote.js";
|
import type FNote from "../../entities/fnote.js";
|
||||||
|
import NoteLanguageWidget from "../note_language.js";
|
||||||
|
|
||||||
const TPL = `
|
const TPL = `
|
||||||
<div class="basic-properties-widget">
|
<div class="basic-properties-widget">
|
||||||
@ -27,7 +28,9 @@ const TPL = `
|
|||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.note-type-container, .editability-select-container {
|
.note-type-container,
|
||||||
|
.editability-select-container,
|
||||||
|
.note-language-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
@ -48,6 +51,10 @@ const TPL = `
|
|||||||
<div class="shared-switch-container"></div>
|
<div class="shared-switch-container"></div>
|
||||||
|
|
||||||
<div class="template-switch-container"></div>
|
<div class="template-switch-container"></div>
|
||||||
|
|
||||||
|
<div class="note-language-container">
|
||||||
|
<span>${t("basic_properties.language")}:</span>
|
||||||
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
|
|
||||||
export default class BasicPropertiesWidget extends NoteContextAwareWidget {
|
export default class BasicPropertiesWidget extends NoteContextAwareWidget {
|
||||||
@ -58,6 +65,7 @@ export default class BasicPropertiesWidget extends NoteContextAwareWidget {
|
|||||||
private bookmarkSwitchWidget: BookmarkSwitchWidget;
|
private bookmarkSwitchWidget: BookmarkSwitchWidget;
|
||||||
private sharedSwitchWidget: SharedSwitchWidget;
|
private sharedSwitchWidget: SharedSwitchWidget;
|
||||||
private templateSwitchWidget: TemplateSwitchWidget;
|
private templateSwitchWidget: TemplateSwitchWidget;
|
||||||
|
private noteLanguageWidget: NoteLanguageWidget;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
@ -68,8 +76,16 @@ export default class BasicPropertiesWidget extends NoteContextAwareWidget {
|
|||||||
this.bookmarkSwitchWidget = new BookmarkSwitchWidget().contentSized();
|
this.bookmarkSwitchWidget = new BookmarkSwitchWidget().contentSized();
|
||||||
this.sharedSwitchWidget = new SharedSwitchWidget().contentSized();
|
this.sharedSwitchWidget = new SharedSwitchWidget().contentSized();
|
||||||
this.templateSwitchWidget = new TemplateSwitchWidget().contentSized();
|
this.templateSwitchWidget = new TemplateSwitchWidget().contentSized();
|
||||||
|
this.noteLanguageWidget = new NoteLanguageWidget().contentSized();
|
||||||
|
|
||||||
this.child(this.noteTypeWidget, this.protectedNoteSwitchWidget, this.editabilitySelectWidget, this.bookmarkSwitchWidget, this.sharedSwitchWidget, this.templateSwitchWidget);
|
this.child(
|
||||||
|
this.noteTypeWidget,
|
||||||
|
this.protectedNoteSwitchWidget,
|
||||||
|
this.editabilitySelectWidget,
|
||||||
|
this.bookmarkSwitchWidget,
|
||||||
|
this.sharedSwitchWidget,
|
||||||
|
this.templateSwitchWidget,
|
||||||
|
this.noteLanguageWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
get name() {
|
get name() {
|
||||||
@ -98,6 +114,7 @@ export default class BasicPropertiesWidget extends NoteContextAwareWidget {
|
|||||||
this.$widget.find(".bookmark-switch-container").append(this.bookmarkSwitchWidget.render());
|
this.$widget.find(".bookmark-switch-container").append(this.bookmarkSwitchWidget.render());
|
||||||
this.$widget.find(".shared-switch-container").append(this.sharedSwitchWidget.render());
|
this.$widget.find(".shared-switch-container").append(this.sharedSwitchWidget.render());
|
||||||
this.$widget.find(".template-switch-container").append(this.templateSwitchWidget.render());
|
this.$widget.find(".template-switch-container").append(this.templateSwitchWidget.render());
|
||||||
|
this.$widget.find(".note-language-container").append(this.noteLanguageWidget.render());
|
||||||
}
|
}
|
||||||
|
|
||||||
async refreshWithNote(note: FNote) {
|
async refreshWithNote(note: FNote) {
|
||||||
|
@ -744,7 +744,8 @@
|
|||||||
"basic_properties": {
|
"basic_properties": {
|
||||||
"note_type": "Note type",
|
"note_type": "Note type",
|
||||||
"editable": "Editable",
|
"editable": "Editable",
|
||||||
"basic_properties": "Basic Properties"
|
"basic_properties": "Basic Properties",
|
||||||
|
"language": "Language"
|
||||||
},
|
},
|
||||||
"book_properties": {
|
"book_properties": {
|
||||||
"view_type": "View type",
|
"view_type": "View type",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user