diff --git a/src/public/app/widgets/ribbon_widgets/basic_properties.js b/src/public/app/widgets/ribbon_widgets/basic_properties.ts similarity index 85% rename from src/public/app/widgets/ribbon_widgets/basic_properties.js rename to src/public/app/widgets/ribbon_widgets/basic_properties.ts index f7cf9a602..cdeccb468 100644 --- a/src/public/app/widgets/ribbon_widgets/basic_properties.js +++ b/src/public/app/widgets/ribbon_widgets/basic_properties.ts @@ -6,6 +6,7 @@ import BookmarkSwitchWidget from "../bookmark_switch.js"; import SharedSwitchWidget from "../shared_switch.js"; import { t } from "../../services/i18n.js"; import TemplateSwitchWidget from "../template_switch.js"; +import type FNote from "../../entities/fnote.js"; const TPL = `
@@ -16,12 +17,12 @@ const TPL = ` align-items: baseline; flex-wrap: wrap; } - - .basic-properties-widget > * { + + .basic-properties-widget > * { margin-top: 9px; margin-bottom: 2px; } - + .basic-properties-widget > * > :last-child { margin-right: 30px; } @@ -31,25 +32,33 @@ const TPL = ` align-items: center; } - +
${t("basic_properties.note_type")}:  
- +
- +
${t("basic_properties.editable")}:  
- +
- +
`; export default class BasicPropertiesWidget extends NoteContextAwareWidget { + + private noteTypeWidget: NoteTypeWidget; + private protectedNoteSwitchWidget: ProtectedNoteSwitchWidget; + private editabilitySelectWidget: EditabilitySelectWidget; + private bookmarkSwitchWidget: BookmarkSwitchWidget; + private sharedSwitchWidget: SharedSwitchWidget; + private templateSwitchWidget: TemplateSwitchWidget; + constructor() { super(); @@ -73,7 +82,7 @@ export default class BasicPropertiesWidget extends NoteContextAwareWidget { getTitle() { return { - show: !this.note.isLaunchBarConfig(), + show: !this.note?.isLaunchBarConfig(), title: t("basic_properties.basic_properties"), icon: "bx bx-slider" }; @@ -91,8 +100,11 @@ export default class BasicPropertiesWidget extends NoteContextAwareWidget { this.$widget.find(".template-switch-container").append(this.templateSwitchWidget.render()); } - async refreshWithNote(note) { + async refreshWithNote(note: FNote) { await super.refreshWithNote(note); + if (!this.note) { + return; + } this.$widget.find(".editability-select-container").toggle(this.note && ["text", "code"].includes(this.note.type)); }