mirror of
https://github.com/zadam/trilium.git
synced 2025-12-04 14:34:24 +01:00
fix(editor): clean up editor on note removal
This commit is contained in:
parent
3ee8e7b755
commit
9004b724e7
@ -165,9 +165,20 @@ export function CodeEditor({ parentComponent, ntxId, containerRef: externalConta
|
||||
useTriliumEvent("executeWithCodeEditor", async ({ resolve, ntxId: eventNtxId }) => {
|
||||
if (eventNtxId !== ntxId) return;
|
||||
await initialized.current.promise();
|
||||
if (!codeEditorRef.current) return;
|
||||
resolve(codeEditorRef.current!);
|
||||
});
|
||||
|
||||
useTriliumEvent("noteContextRemoved", async ({ ntxIds: eventNtxIds }) => {
|
||||
if (!ntxId || !eventNtxIds.includes(ntxId)) return;
|
||||
|
||||
const cm = codeEditorRef.current;
|
||||
if (cm) {
|
||||
cm.destroy();
|
||||
codeEditorRef.current = null;
|
||||
}
|
||||
});
|
||||
|
||||
useTriliumEvent("executeWithContentElement", async ({ resolve, ntxId: eventNtxId}) => {
|
||||
if (eventNtxId !== ntxId) return;
|
||||
await initialized.current.promise();
|
||||
|
||||
@ -179,6 +179,16 @@ export default function EditableText({ note, parentComponent, ntxId, noteContext
|
||||
resolve(editor);
|
||||
});
|
||||
|
||||
useTriliumEvent("noteContextRemoved", async ({ ntxIds: eventNtxIds }) => {
|
||||
if (!ntxId || !eventNtxIds.includes(ntxId)) return;
|
||||
|
||||
const watchdog = watchdogRef.current;
|
||||
if (!watchdog) return;
|
||||
|
||||
await watchdog.destroy();
|
||||
watchdogRef.current = null;
|
||||
});
|
||||
|
||||
async function waitForEditor() {
|
||||
await initialized.current;
|
||||
const editor = watchdogRef.current?.editor;
|
||||
|
||||
@ -50,6 +50,15 @@ export default function ReadOnlyText({ note, noteContext, ntxId }: TypeWidgetPro
|
||||
resolve($(contentRef.current));
|
||||
});
|
||||
|
||||
useTriliumEvent("noteContextRemoved", ({ ntxIds: eventNtxIds }) => {
|
||||
if (!ntxId || !eventNtxIds.includes(ntxId)) return;
|
||||
|
||||
if (contentRef.current) {
|
||||
contentRef.current.innerHTML = "";
|
||||
}
|
||||
contentRef.current = null;
|
||||
});
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`note-detail-readonly-text note-detail-printable ${codeBlockWordWrap ? "word-wrap" : ""}`}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user