Stichting Rechtsbescherming is sinds maart 2024, opgeheven en uitgeschreven uit de registers van de Kamer van Koophandel.
De opvolger van Stichting Rechtsbescherming, is Stichting Jeugdrecht, druk hieronder om naar de website van Stichting Jeugdrecht te gaan!
const EditorPreview = () => {
002
const [html, setHtml] = useState('');
003
const iframeRef = useRef(null);
004
const [isFetching, setIsFetching] = useState(false);
005
const [error, setError] = useState(null);
006
const [previousBlocks, setPreviousBlocks] = useState([]);
007
let draft = useSelector(selectDraft);
008
const fetchPreview = useCallback(
009
debounce(
010
(newDraft) => {
011
if (!newDraft.blocks || newDraft.blocks.length === 0) {
012
setHtml('');
013
return;
014
}
015
setIsFetching(true);
016
getPreview(mapDraftToPreviewArticle(newDraft))
017
.then(previewHtml => {
018
const scrollTop = iframeRef.current
019
? iframeRef.current.contentWindow.pageYOffset
020
: 0;
021
setHtml(addScrollPosition(previewHtml, scrollTop));
022
setError(null);
023
})
024
.catch(err => {
025
setHtml('');
026
setError(err);
027
})
028
.then(() => setIsFetching(false));
029
},
030
FETCH_DEBOUNCE,
031
{ leading: true }
032
),
033
[]
034
);
035
useEffect(() => {
036
if (!areBlocksEqual(previousBlocks, draft.blocks)) {
037
fetchPreview(draft);
038
setPreviousBlocks(draft.blocks || []);
039
}
040
});
041
return (
042
047
{(error || isFetching) && (
048
049
{
050
error && !isFetching &&
051
Failed to fetch preview
052
}
053
{isFetching && (
054
Loading preview...
055
)}
056
057
)}
058
067
068
);
069
};