chore(client/ts): port basic_properties

This commit is contained in:
Elian Doran 2025-03-04 17:18:17 +02:00
parent e930ae5f40
commit c0c85e96ce
No known key found for this signature in database

View File

@ -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 = `
<div class="basic-properties-widget">
@ -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;
}
</style>
<div class="note-type-container">
<span>${t("basic_properties.note_type")}:</span> &nbsp;
</div>
<div class="protected-note-switch-container"></div>
<div class="editability-select-container">
<span>${t("basic_properties.editable")}:</span> &nbsp;
</div>
<div class="bookmark-switch-container"></div>
<div class="shared-switch-container"></div>
<div class="template-switch-container"></div>
</div>`;
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));
}