Notes/src/public/app/widgets/protected_note_switch.ts
2025-02-11 19:29:53 +02:00

40 lines
1.1 KiB
TypeScript

import type { EventData } from "../components/app_context.js";
import type FNote from "../entities/fnote.js";
import { t } from "../services/i18n.js";
import protectedSessionService from "../services/protected_session.js";
import SwitchWidget from "./switch.js";
export default class ProtectedNoteSwitchWidget extends SwitchWidget {
doRender() {
super.doRender();
this.switchOnName = t("protect_note.toggle-on");
this.switchOnTooltip = t("protect_note.toggle-on-hint");
this.switchOffName = t("protect_note.toggle-off");
this.switchOffTooltip = t("protect_note.toggle-off-hint");
}
switchOn() {
if (this.noteId) {
protectedSessionService.protectNote(this.noteId, true, false);
}
}
switchOff() {
if (this.noteId) {
protectedSessionService.protectNote(this.noteId, false, false);
}
}
async refreshWithNote(note: FNote) {
this.isToggled = note.isProtected;
}
entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) {
if (loadResults.isNoteReloaded(this.noteId)) {
this.refresh();
}
}
}