Merge 9004b724e7e54850026a071287a972297dd4a261 into 2e431b11350698b6095037bb51aedb95f3466464

This commit is contained in:
SngAbc 2025-11-28 11:26:21 +02:00 committed by GitHub
commit 06e1a08a64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 30 additions and 0 deletions

View File

@ -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();

View File

@ -180,6 +180,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;

View File

@ -52,6 +52,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 (
<>
<RawHtmlBlock