Skip to content

Commit 1b82544

Browse files
committed
feat(timeline): save layer selection
1 parent a0243bd commit 1b82544

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import TimelineEventInspector from './TimelineEventInspector.vue'
99
import AskScreenshotPermission from './AskScreenshotPermission.vue'
1010
1111
import { computed, onMounted, ref, watch, defineComponent, onUnmounted } from '@vue/composition-api'
12-
import { SharedData } from '@vue-devtools/shared-utils'
12+
import { getStorage, SharedData } from '@vue-devtools/shared-utils'
1313
import { onSharedDataChange } from '@front/util/shared-data'
1414
import { formatTime } from '@front/util/format'
1515
import { useFonts } from '@front/util/fonts'
@@ -283,6 +283,20 @@ export default defineComponent({
283283
284284
const { loaded: fontsLoaded } = useFonts()
285285
286+
// Restore layer selection
287+
288+
watch(layers, value => {
289+
if (!selectedLayer.value && value.length) {
290+
const layerId = getStorage('selected-layer-id')
291+
if (layerId) {
292+
const layer = value.find(layer => layer.id === layerId)
293+
if (layer) {
294+
selectLayer(layer)
295+
}
296+
}
297+
}
298+
})
299+
286300
return {
287301
fontsLoaded,
288302
startTime,

packages/app-frontend/src/features/timeline/composable/events.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { onUnmounted, computed, watch } from '@vue/composition-api'
2-
import { BridgeEvents } from '@vue-devtools/shared-utils'
2+
import { BridgeEvents, setStorage } from '@vue-devtools/shared-utils'
33
import { getBridge } from '@front/features/bridge'
44
import { formatTime } from '@front/util/format'
55
import {
@@ -148,4 +148,5 @@ function loadEvent (id: TimelineEvent['id']) {
148148
export function selectEvent (event: TimelineEvent) {
149149
selectedEvent.value = inspectedEvent.value = event
150150
selectedLayer.value = event.layer
151+
setStorage('selected-layer-id', event.layer.id)
151152
}

packages/app-frontend/src/features/timeline/composable/layers.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ export function useLayers () {
8787
let event = selectedLayer.value !== layer ? layer.lastInspectedEvent : null
8888

8989
selectedLayer.value = layer
90+
setStorage('selected-layer-id', layer.id)
9091

9192
if (!event) event = layer.events.length ? layer.events[layer.events.length - 1] : null
9293
inspectedEvent.value = event

0 commit comments

Comments
 (0)