diff --git a/public/test.vcd.view b/public/test.vcd.view index 1921a55..aa67e3b 100644 Binary files a/public/test.vcd.view and b/public/test.vcd.view differ diff --git a/src/api/index.js b/src/api/index.js index 3c9fe18..d7b2f40 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -12,10 +12,10 @@ export let saveDelay = 1000; /** * * @param {string} file - * @param {*} payload + * @param {any} payload */ export async function saveView(file, payload) { - if (payload.waves === undefined || payload.waves.length === 0) { + if (payload === undefined) { return; } if (mode === 'debug') { @@ -47,7 +47,7 @@ function debounceSaveView(delay) { clearTimeout(timer); } timer = setTimeout(() => { - const payload = makeSaveViewPayload(configPool); + const payload = makeSaveViewPayload(configPool); const savePath = globalLookup.originVcdViewFile; saveView(savePath, payload); }, delay); diff --git a/src/components/sidebar/handle-drag.js b/src/components/sidebar/handle-drag.js index 9c08b4c..48bd713 100644 --- a/src/components/sidebar/handle-drag.js +++ b/src/components/sidebar/handle-drag.js @@ -5,6 +5,6 @@ import { saveViewApi } from "@/api"; export function onUpdate() { globalLookup.render(); updateCurrentGroups(); - // 保存视图 + // 保存视图 saveViewApi({ views: true }); } diff --git a/src/hook/recover.js b/src/hook/recover.js index 18fc6b8..a5c6bdb 100644 --- a/src/hook/recover.js +++ b/src/hook/recover.js @@ -6,6 +6,7 @@ import { BSON } from "bson"; import { Id2Pivot, orderedTimes, UserPivots } from "@/components/pivot/pivot-view"; import { TreeviewExpandSignals } from "@/components/treeview/modules"; import { controlPanel } from "@/components/right-nav"; +import { saveViewApi } from "@/api"; export const recoverConfig = { /** @@ -228,6 +229,16 @@ export function recoverSession(topModules) { recoverConfig.treeviewExpands = null; recoverConfig.waves = null; recoverConfig.rightNavIndex = null; + + // 更新后端缓存 + saveViewApi({ + waves: true, + views: true, + state: true, + pivots: true, + treeviewExpands: true, + rightNavIndex: true + }); } /** @@ -353,7 +364,7 @@ export function makeSaveViewPayload(config) { if (defaultFalseWrapper(config, 'waves')) { // 有 waves 也一定要有 views config.views = true; - + const waves = []; for (const wire of globalLookup.currentWires) { const option = globalLookup.currentSignalRenderOptions.get(wire.link) || {};