From e0064dd7a0f208f2794cf36e75823b18f65bc92c Mon Sep 17 00:00:00 2001 From: dwithana Date: Mon, 23 Dec 2024 14:01:41 -0500 Subject: [PATCH] Fix annotation on-click Canvas check in ramp-hooks --- .../Annotations/AnnotationRow.js | 31 +++++++++---------- src/services/ramp-hooks.js | 6 ++-- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/components/MarkersDisplay/Annotations/AnnotationRow.js b/src/components/MarkersDisplay/Annotations/AnnotationRow.js index 4b7a6c92..b71a461d 100644 --- a/src/components/MarkersDisplay/Annotations/AnnotationRow.js +++ b/src/components/MarkersDisplay/Annotations/AnnotationRow.js @@ -9,7 +9,7 @@ const AnnotationRow = ({ annotation, displayMotivations }) => { const { start, end } = time; const { player } = useMediaPlayer(); - const { isCurrentCanvas } = useAnnotations({ canvasId }); + const { checkCanvas } = useAnnotations({ canvasId }); /** * Display only the annotations with at least one of the specified motivations @@ -31,21 +31,20 @@ const AnnotationRow = ({ annotation, displayMotivations }) => { */ const handleOnClick = useCallback((e) => { e.preventDefault(); - if (isCurrentCanvas) { - const currentTime = start; - if (player) { - const { start, end } = player.targets[0]; - switch (true) { - case currentTime >= start && currentTime <= end: - player.currentTime(currentTime); - break; - case currentTime < start: - player.currentTime(start); - break; - case currentTime > end: - player.currentTime(end); - break; - } + checkCanvas(); + const currentTime = start; + if (player) { + const { start, end } = player.targets[0]; + switch (true) { + case currentTime >= start && currentTime <= end: + player.currentTime(currentTime); + break; + case currentTime < start: + player.currentTime(start); + break; + case currentTime > end: + player.currentTime(end); + break; } } }, [annotation, player]); diff --git a/src/services/ramp-hooks.js b/src/services/ramp-hooks.js index 80104333..017b5bbc 100644 --- a/src/services/ramp-hooks.js +++ b/src/services/ramp-hooks.js @@ -1075,7 +1075,7 @@ export const useTranscripts = ({ * @param {Object} obj * @param {String} obj.canvasId * @returns { - * isCurrentCanvas + * checkCanvas * } */ export const useAnnotations = ({ canvasId }) => { @@ -1092,7 +1092,7 @@ export const useAnnotations = ({ canvasId }) => { * Update current Canvas in state if the clicked Annotation is pointing * to a different Canvas within the given Manifest */ - useEffect(() => { + const checkCanvas = useCallback(() => { if (!isCurrentCanvas) { const clickedCanvas = allCanvases.filter((c) => c.canvasId === canvasId); if (clickedCanvas?.length > 0) { @@ -1102,5 +1102,5 @@ export const useAnnotations = ({ canvasId }) => { } }, [isCurrentCanvas]); - return { isCurrentCanvas }; + return { checkCanvas }; };