diff --git a/apps/client/src/widgets/type_widgets/Render.tsx b/apps/client/src/widgets/type_widgets/Render.tsx index f47e58f2de..1f9d61d218 100644 --- a/apps/client/src/widgets/type_widgets/Render.tsx +++ b/apps/client/src/widgets/type_widgets/Render.tsx @@ -1,23 +1,33 @@ import "./Render.css"; -import { useEffect, useRef, useState } from "preact/hooks"; +import { useEffect, useRef } from "preact/hooks"; import attributes from "../../services/attributes"; import { t } from "../../services/i18n"; import render from "../../services/render"; import Alert from "../react/Alert"; -import { useTriliumEvent } from "../react/hooks"; +import { useNoteRelation, useTriliumEvent } from "../react/hooks"; import RawHtml from "../react/RawHtml"; import { refToJQuerySelector } from "../react/react_utils"; import { TypeWidgetProps } from "./type_widget"; -export default function Render({ note, noteContext, ntxId }: TypeWidgetProps) { +export default function Render(props: TypeWidgetProps) { + const { note } = props; + const [ renderNote ] = useNoteRelation(note, "renderNote"); + + if (!renderNote) { + return ; + } + + return ; +} + +function RenderContent({ note, noteContext, ntxId }: TypeWidgetProps) { const contentRef = useRef(null); - const [ renderNotesFound, setRenderNotesFound ] = useState(false); function refresh() { if (!contentRef) return; - render.render(note, refToJQuerySelector(contentRef)).then(setRenderNotesFound); + render.render(note, refToJQuerySelector(contentRef)); } useEffect(refresh, [ note ]); @@ -47,16 +57,14 @@ export default function Render({ note, noteContext, ntxId }: TypeWidgetProps) { resolve(refToJQuerySelector(contentRef)); }); - return ( - <> - {!renderNotesFound && ( - - {t("render.note_detail_render_help_1")} - - - )} + return ; +} - - > +function SetupRenderContent() { + return ( + + {t("render.note_detail_render_help_1")} + + ); } diff --git a/packages/commons/src/lib/attribute_names.ts b/packages/commons/src/lib/attribute_names.ts index d5a63de04a..7a9534a5b7 100644 --- a/packages/commons/src/lib/attribute_names.ts +++ b/packages/commons/src/lib/attribute_names.ts @@ -78,6 +78,9 @@ type Relations = [ "searchScript", "ancestor", + // Active content + "renderNote", + // Launcher-specific "target", "widget"
{t("render.note_detail_render_help_1")}