Make all object path points clickable (#17367)

This commit is contained in:
Josh Hawkins 2025-03-25 15:08:40 -05:00 committed by GitHub
parent e80caabee6
commit 2c3ea5b74e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 7 deletions

View File

@ -285,9 +285,16 @@ export default function ObjectLifecycle({
useEffect(() => {
if (eventSequence && eventSequence.length > 0) {
setTimeIndex(eventSequence?.[current].timestamp);
handleSetBox(eventSequence?.[current].data.box ?? []);
setLifecycleZones(eventSequence?.[current].data.zones);
if (current == -1) {
// normal path point
setBoxStyle(null);
setLifecycleZones([]);
} else {
// lifecycle point
setTimeIndex(eventSequence?.[current].timestamp);
handleSetBox(eventSequence?.[current].data.box ?? []);
setLifecycleZones(eventSequence?.[current].data.zones);
}
setSelectedZone("");
}
}, [current, imgLoaded, handleSetBox, eventSequence]);
@ -322,6 +329,10 @@ export default function ObjectLifecycle({
mainApi.scrollTo(sequenceIndex);
thumbnailApi.scrollTo(sequenceIndex);
setCurrent(sequenceIndex);
} else {
// click on a normal path point, not a lifecycle point
setCurrent(-1);
setTimeIndex(pathPoints[index].timestamp);
}
},
[mainApi, thumbnailApi, eventSequence, pathPoints],

View File

@ -95,10 +95,8 @@ export function ObjectPath({
fill={getPointColor(color, pos.lifecycle_item?.class_type)}
stroke="white"
strokeWidth={width / 2}
onClick={() =>
pos.lifecycle_item && onPointClick && onPointClick(index)
}
style={{ cursor: pos.lifecycle_item ? "pointer" : "default" }}
onClick={() => onPointClick && onPointClick(index)}
style={{ cursor: "pointer" }}
/>
</TooltipTrigger>
<TooltipPortal>