mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-15 07:34:42 -04:00
Move frontmatter extraction from renderer to redux (#1413)
This commit is contained in:
parent
7fb7c55877
commit
04e16d8880
34 changed files with 680 additions and 589 deletions
|
@ -25,7 +25,6 @@ export interface RenderIframeProps extends RendererProps {
|
|||
export const RenderIframe: React.FC<RenderIframeProps> = ({
|
||||
markdownContent,
|
||||
onTaskCheckedChange,
|
||||
onFrontmatterChange,
|
||||
scrollState,
|
||||
onFirstHeadingChange,
|
||||
onScroll,
|
||||
|
@ -39,6 +38,7 @@ export const RenderIframe: React.FC<RenderIframeProps> = ({
|
|||
const [lightboxDetails, setLightboxDetails] = useState<ImageDetails | undefined>(undefined)
|
||||
|
||||
const frameReference = useRef<HTMLIFrameElement>(null)
|
||||
const frontmatterInfo = useApplicationState((state) => state.noteDetails.frontmatterRendererInfo)
|
||||
const rendererOrigin = useApplicationState((state) => state.config.iframeCommunication.rendererOrigin)
|
||||
const renderPageUrl = `${rendererOrigin}render`
|
||||
const resetRendererReady = useCallback(() => setRendererStatus(false), [])
|
||||
|
@ -67,11 +67,6 @@ export const RenderIframe: React.FC<RenderIframeProps> = ({
|
|||
return () => iframeCommunicator.onFirstHeadingChange(undefined)
|
||||
}, [iframeCommunicator, onFirstHeadingChange])
|
||||
|
||||
useEffect(() => {
|
||||
iframeCommunicator.onFrontmatterChange(onFrontmatterChange)
|
||||
return () => iframeCommunicator.onFrontmatterChange(undefined)
|
||||
}, [iframeCommunicator, onFrontmatterChange])
|
||||
|
||||
useEffect(() => {
|
||||
iframeCommunicator.onSetScrollState(onScroll)
|
||||
return () => iframeCommunicator.onSetScrollState(undefined)
|
||||
|
@ -128,6 +123,12 @@ export const RenderIframe: React.FC<RenderIframeProps> = ({
|
|||
}
|
||||
}, [iframeCommunicator, markdownContent, rendererReady])
|
||||
|
||||
useEffect(() => {
|
||||
if (rendererReady && frontmatterInfo !== undefined) {
|
||||
iframeCommunicator.sendSetFrontmatterInfo(frontmatterInfo)
|
||||
}
|
||||
}, [iframeCommunicator, rendererReady, frontmatterInfo])
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<ShowOnPropChangeImageLightbox details={lightboxDetails} />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue