From ef1904e344cf0aa9ceec95c11e8727592e0e3ca7 Mon Sep 17 00:00:00 2001 From: Lina Date: Thu, 6 Mar 2025 15:04:57 +0100 Subject: [PATCH 1/3] Label box position fix --- .../sessionId/sub-components/LabelingSuiteLabeling.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx b/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx index a9bddf44..7f0d0bd4 100644 --- a/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx +++ b/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx @@ -118,7 +118,7 @@ export default function LabelingSuiteLabeling() { clearSelected(); } else { window.getSelection().empty(); - setSelected(attributeIdStart, tokenStart, tokenEnd, startEl); + setSelected(attributeIdStart, tokenStart, tokenEnd, e, startEl); } }; extractionRef.current.addEventListener('mouseup', handleMouseUp); @@ -474,7 +474,7 @@ export default function LabelingSuiteLabeling() { dispatch(setActiveTokenSelection(null)); }, [tokenLookup]); - function setSelected(attributeId: string, tokenStart: number, tokenEnd: number, e?: any) { + function setSelected(attributeId: string, tokenStart: number, tokenEnd: number, e?: any, startEl?: DOMRect) { if (!canEditLabels && user.role != UserRole.ANNOTATOR && userDisplayRole != UserRole.ANNOTATOR) return; const tokenLookupCopy = jsonCopy(tokenLookup); if (!tokenLookupCopy[attributeId]) { @@ -489,11 +489,11 @@ export default function LabelingSuiteLabeling() { setActiveTasksFuncRef.current(lVars.taskLookup[attributeId].lookup); } setTokenLookup(tokenLookupCopy); - labelBoxPosition(e); + labelBoxPosition(e, startEl); } - function labelBoxPosition(e) { - const labelBox: DOMRect = e.target?.getBoundingClientRect(); + function labelBoxPosition(e, startEl?: DOMRect) { + const labelBox: DOMRect = startEl || e.target.getBoundingClientRect(); if (!labelBox) return; const baseBox: DOMRect = document.getElementById('base-dom-element')?.getBoundingClientRect(); if (!baseBox) return; From 6f3fe2480210b286dd2d6741510c8df93faef6fe Mon Sep 17 00:00:00 2001 From: Lina Date: Tue, 11 Mar 2025 09:54:54 +0100 Subject: [PATCH 2/3] Fix multiline label selection box --- .../sessionId/sub-components/LabelingSuiteLabeling.tsx | 5 +++-- submodules/react-components | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx b/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx index 7f0d0bd4..126f4b55 100644 --- a/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx +++ b/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx @@ -113,6 +113,7 @@ export default function LabelingSuiteLabeling() { if (!tokenLookup || !extractionRef.current) return; const handleMouseUp = (e) => { const [check, attributeIdStart, tokenStart, tokenEnd, startEl] = parseSelectionData(); + console.log(startEl) dispatch(setActiveTokenSelection({ attributeId: attributeIdStart, tokenStart, tokenEnd })); if (!check) { clearSelected(); @@ -492,8 +493,8 @@ export default function LabelingSuiteLabeling() { labelBoxPosition(e, startEl); } - function labelBoxPosition(e, startEl?: DOMRect) { - const labelBox: DOMRect = startEl || e.target.getBoundingClientRect(); + function labelBoxPosition(e: any, startEl?: any) { + const labelBox: DOMRect = startEl ? startEl.getBoundingClientRect() : (e.target as HTMLElement).getBoundingClientRect(); if (!labelBox) return; const baseBox: DOMRect = document.getElementById('base-dom-element')?.getBoundingClientRect(); if (!baseBox) return; diff --git a/submodules/react-components b/submodules/react-components index f1f10c0d..02694081 160000 --- a/submodules/react-components +++ b/submodules/react-components @@ -1 +1 @@ -Subproject commit f1f10c0d068542a53e82c2877f34256613b662ad +Subproject commit 02694081ffd7918536b255b1b0145e90c67486e0 From 797b846bf3c47d0b02bba9b7ce5d1e64bb946768 Mon Sep 17 00:00:00 2001 From: Lina Date: Tue, 11 Mar 2025 11:35:28 +0100 Subject: [PATCH 3/3] PR comments --- .../labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx b/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx index 126f4b55..e6e0058f 100644 --- a/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx +++ b/src/components/projects/projectId/labeling/sessionId/sub-components/LabelingSuiteLabeling.tsx @@ -113,7 +113,6 @@ export default function LabelingSuiteLabeling() { if (!tokenLookup || !extractionRef.current) return; const handleMouseUp = (e) => { const [check, attributeIdStart, tokenStart, tokenEnd, startEl] = parseSelectionData(); - console.log(startEl) dispatch(setActiveTokenSelection({ attributeId: attributeIdStart, tokenStart, tokenEnd })); if (!check) { clearSelected();