From f6e01bd7b9612759fdb474b56859f7ac276582f1 Mon Sep 17 00:00:00 2001 From: Fan Pei Date: Mon, 2 Oct 2023 23:49:09 +0900 Subject: [PATCH] fix: Reset select status when selected layer is hiddin in timeline --- .../src/features/timeline/TimelineEventList.vue | 3 +-- .../src/features/timeline/composable/layers.ts | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/app-frontend/src/features/timeline/TimelineEventList.vue b/packages/app-frontend/src/features/timeline/TimelineEventList.vue index 3dc4a8977..5a43eeabe 100644 --- a/packages/app-frontend/src/features/timeline/TimelineEventList.vue +++ b/packages/app-frontend/src/features/timeline/TimelineEventList.vue @@ -144,9 +144,8 @@ export default defineComponent({ // Auto bottom scroll function scrollToBottom () { - if (!scroller.value) return - requestAnimationFrame(() => { + if (!scroller.value) return const scrollerEl = scroller.value.$el scrollerEl.scrollTop = scrollerEl.scrollHeight }) diff --git a/packages/app-frontend/src/features/timeline/composable/layers.ts b/packages/app-frontend/src/features/timeline/composable/layers.ts index b67e933e9..a0744375e 100644 --- a/packages/app-frontend/src/features/timeline/composable/layers.ts +++ b/packages/app-frontend/src/features/timeline/composable/layers.ts @@ -68,9 +68,22 @@ export function useLayers () { return list.includes(layer.id) } + function resetSelectedStatus () { + selectedLayer.value = null + inspectedEvent.value = null + selectedEvent.value = null + hoverLayerId.value = null + setStorage('selected-layer-id', '') + } + function setLayerHidden (layer: Layer, hidden: boolean) { const list = getHiddenLayers(currentAppId.value) const index = list.indexOf(layer.id) + + if (selectedLayer.value === layer) { + resetSelectedStatus() + } + if (hidden && index === -1) { list.push(layer.id) } else if (!hidden && index !== -1) {