|
import { onUnmounted } from 'vue' |
|
import { BridgeEvents, getStorage } from '@vue-devtools/shared-utils' |
|
import { getBridge } from '@front/features/bridge' |
|
import { |
|
endTime, |
|
hiddenLayersPerApp, |
|
hoverLayerId, |
|
inspectedEvent, |
|
inspectedEventData, |
|
inspectedEventPendingId, |
|
layersPerApp, |
|
maxTime, |
|
minTime, |
|
screenshots, |
|
selectedEvent, |
|
selectedLayer, |
|
startTime, |
|
timelineIsEmpty, |
|
vScrollPerApp, |
|
} from './store' |
|
import { fetchLayers } from './layers' |
|
|
|
type ResetCb = () => void |
|
|
|
const resetCbs: ResetCb[] = [] |
|
|
|
export function resetTimeline(sync = true) { |
|
selectedLayer.value = null |
|
selectedEvent.value = null |
|
inspectedEvent.value = null |
|
inspectedEventData.value = null |
|
inspectedEventPendingId.value = null |
|
layersPerApp.value = {} |
|
vScrollPerApp.value = {} |
|
hoverLayerId.value = null |
|
timelineIsEmpty.value = true |
|
screenshots.value = [] |
|
|
|
resetTime() |
|
|
|
if (sync) { |
|
getBridge().send(BridgeEvents.TO_BACK_TIMELINE_CLEAR) |
|
} |
|
|
|
|
|
fetchLayers() |
|
hiddenLayersPerApp.value = getStorage('hidden-layers', {}) |
|
|
|
for (const cb of resetCbs) { |
|
cb() |
|
} |
|
} |
|
|
|
export function resetTime() { |
|
const now = 0 |
|
minTime.value = startTime.value = now - 1_000_000 |
|
maxTime.value = endTime.value = now |
|
} |
|
|
|
export function onTimelineReset(cb: ResetCb) { |
|
onUnmounted(() => { |
|
const index = resetCbs.indexOf(cb) |
|
if (index !== -1) { |
|
resetCbs.splice(index, 1) |
|
} |
|
}) |
|
|
|
resetCbs.push(cb) |
|
} |
|
|