Skip to content

Commit 5843066

Browse files
committed
fix(timeline): don't autoscroll to group on selection when it's visible
1 parent 2601418 commit 5843066

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

packages/app-frontend/src/features/timeline/Timeline.vue

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,24 @@ export default defineComponent({
8383
selectedEvent,
8484
} = useSelectedEvent()
8585
86-
// Scroll to selected event
86+
// Auto scroll to selected event
8787
watch(selectedEvent, event => {
8888
if (!event) return
8989
9090
const size = endTime.value - startTime.value
91-
if (event.time < startTime.value || event.time > endTime.value) {
91+
92+
let isEventInViewPort: boolean
93+
if (event.layer.groupsOnly) {
94+
isEventInViewPort = (
95+
(event.group.firstEvent.time >= startTime.value && event.group.firstEvent.time <= endTime.value) ||
96+
(event.group.lastEvent.time >= startTime.value && event.group.lastEvent.time <= endTime.value) ||
97+
(event.group.firstEvent.time <= startTime.value && event.group.lastEvent.time >= endTime.value)
98+
)
99+
} else {
100+
isEventInViewPort = event.time >= startTime.value && event.time <= endTime.value
101+
}
102+
103+
if (!isEventInViewPort) {
92104
startTime.value = event.time - size / 2
93105
if (startTime.value < minTime.value) {
94106
startTime.value = minTime.value

0 commit comments

Comments
 (0)