mirror of
https://github.com/zadam/trilium.git
synced 2025-12-05 06:54:23 +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 }) => {
|
useTriliumEvent("executeWithCodeEditor", async ({ resolve, ntxId: eventNtxId }) => {
|
||||||
if (eventNtxId !== ntxId) return;
|
if (eventNtxId !== ntxId) return;
|
||||||
await initialized.current.promise();
|
await initialized.current.promise();
|
||||||
|
if (!codeEditorRef.current) return;
|
||||||
resolve(codeEditorRef.current!);
|
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}) => {
|
useTriliumEvent("executeWithContentElement", async ({ resolve, ntxId: eventNtxId}) => {
|
||||||
if (eventNtxId !== ntxId) return;
|
if (eventNtxId !== ntxId) return;
|
||||||
await initialized.current.promise();
|
await initialized.current.promise();
|
||||||
|
|||||||
@ -179,6 +179,16 @@ export default function EditableText({ note, parentComponent, ntxId, noteContext
|
|||||||
resolve(editor);
|
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() {
|
async function waitForEditor() {
|
||||||
await initialized.current;
|
await initialized.current;
|
||||||
const editor = watchdogRef.current?.editor;
|
const editor = watchdogRef.current?.editor;
|
||||||
|
|||||||
@ -50,6 +50,15 @@ export default function ReadOnlyText({ note, noteContext, ntxId }: TypeWidgetPro
|
|||||||
resolve($(contentRef.current));
|
resolve($(contentRef.current));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
useTriliumEvent("noteContextRemoved", ({ ntxIds: eventNtxIds }) => {
|
||||||
|
if (!ntxId || !eventNtxIds.includes(ntxId)) return;
|
||||||
|
|
||||||
|
if (contentRef.current) {
|
||||||
|
contentRef.current.innerHTML = "";
|
||||||
|
}
|
||||||
|
contentRef.current = null;
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={`note-detail-readonly-text note-detail-printable ${codeBlockWordWrap ? "word-wrap" : ""}`}
|
className={`note-detail-readonly-text note-detail-printable ${codeBlockWordWrap ? "word-wrap" : ""}`}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user