import NoteContext from "../../components/note_context.js"; import { openDialog } from "../../services/dialog.js"; import froca from "../../services/froca.js"; import BasicWidget from "../basic_widget.js"; import Container from "../containers/container.js"; const TPL = /*html*/`\ `; export default class PopupEditorDialog extends Container { private noteId?: string; constructor() { super(); setTimeout(() => { this.openPopupEditorEvent("vdJ8utb0A0Kd"); }, 750); } doRender() { // This will populate this.$widget with the content of the children. super.doRender(); // Now we wrap it in the modal. const $newWidget = $(TPL); $newWidget.find(".modal-body").append(this.$widget.children()); this.$widget = $newWidget; } async refresh() { if (!this.noteId) { console.warn("Popup editor noteId is not set, cannot refresh."); return false; } const note = await froca.getNote(this.noteId); if (!note) { console.warn(`Popup editor note with ID ${this.noteId} not found.`); return false; } const noteContext = new NoteContext("_popup-editor"); await noteContext.setNote(note.noteId); await this.handleEventInChildren("setNoteContext", { noteContext: noteContext }); return true; } async openPopupEditorEvent(noteId: string) { this.noteId = noteId; if (await this.refresh()) { openDialog(this.$widget); } } }