From 860c67b00bd890e9209e17f686541b4ae73ccff3 Mon Sep 17 00:00:00 2001 From: Adrian Rumpold Date: Tue, 29 Apr 2025 09:41:17 +0200 Subject: [PATCH] Fix xref links --- frontend/src/components/Panel/Panel.tsx | 13 ++++++++++--- src/formex_viewer/formex4.py | 4 ---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/Panel/Panel.tsx b/frontend/src/components/Panel/Panel.tsx index b98dcf3..55ff6a3 100644 --- a/frontend/src/components/Panel/Panel.tsx +++ b/frontend/src/components/Panel/Panel.tsx @@ -18,7 +18,7 @@ function Panel({ language }: PanelProps) { const [lang, setLang] = useState(language || Language.ENG); const articleRef = useRef(null); - const { articleId, celexId } = useNavState(); + const { articleId, celexId, setArticleId } = useNavState(); const { data, isPending, error } = useArticle(celexId, articleId, lang); useEffect(() => { @@ -35,7 +35,7 @@ function Panel({ language }: PanelProps) { if (target && targetId) { if (target === "article") { - link.setAttribute("href", `../articles/${targetId}`); + link.setAttribute("href", `/${celexId}/articles/${targetId}`); } } else { console.warn("No target or ID found for link:", link); @@ -82,7 +82,14 @@ function Panel({ language }: PanelProps) { element.removeEventListener("click", handleClick(element)); }); }; - }, [articleRef, data, selectedParagraphId, setSelectedParagraphId]); + }, [ + articleRef, + data, + celexId, + selectedParagraphId, + setSelectedParagraphId, + setArticleId, + ]); if (isPending) return "Loading..."; if (error) return "An error has occurred: " + error.message; diff --git a/src/formex_viewer/formex4.py b/src/formex_viewer/formex4.py index 0c004af..1ffca56 100644 --- a/src/formex_viewer/formex4.py +++ b/src/formex_viewer/formex4.py @@ -74,9 +74,7 @@ def extract_xrefs(el: lxml.etree.Element, language: Language) -> list[CrossRefer } for key, pattern in patterns.items(): matches = re.finditer(pattern, text, flags=re.IGNORECASE) - print(f"Pattern: {pattern}") for match in matches: - print(f"Match: {match.group(0)}") crossref_id = ( match.group("art_num") if key == "article" else match.group("annex_num") ) @@ -158,8 +156,6 @@ class FormexArticleConverter: if not is_title and not element.getchildren(): # Cross-references should be treated at the deepest level xrefs = extract_xrefs(element, self.language) - print("Extracted cross-references: ", xrefs) - for xref in xrefs: # Replace the cross-reference text with a link result = self._replace_xref(result, xref)