/** * 侧边栏与编辑区之间的轻量事件总线 */ export const ASSETS_CHANGED_EVENT = "wolai:assets-changed"; export const DOCUMENTS_CHANGED_EVENT = "wolai:documents-changed"; type AssetsChangedPayload = { docId?: string; asset?: unknown; assetIds?: string[]; mindmapDeleted?: boolean; mindmapAssetIds?: string[]; }; export function emitAssetsChanged( docId?: string, asset?: unknown, assetIds?: string[], mindmapDeleted?: boolean, mindmapAssetIds?: string[], ) { if (typeof window === "undefined") return; const detail: AssetsChangedPayload = { docId, asset, assetIds, mindmapDeleted, mindmapAssetIds }; window.dispatchEvent(new CustomEvent(ASSETS_CHANGED_EVENT, { detail })); } export function emitDocumentsChanged(docId?: string) { if (typeof window === "undefined") return; window.dispatchEvent(new CustomEvent(DOCUMENTS_CHANGED_EVENT, { detail: { docId } })); }