Files
mnote/wolai-frontend/src/lib/events.ts
T

31 lines
910 B
TypeScript
Raw Normal View History

2026-01-02 07:25:50 +08:00
/**
* 侧边栏与编辑区之间的轻量事件总线
*/
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;
2026-01-08 06:28:14 +08:00
mindmapAssetIds?: string[];
2026-01-02 07:25:50 +08:00
};
2026-01-08 06:28:14 +08:00
export function emitAssetsChanged(
docId?: string,
asset?: unknown,
assetIds?: string[],
mindmapDeleted?: boolean,
mindmapAssetIds?: string[],
) {
2026-01-02 07:25:50 +08:00
if (typeof window === "undefined") return;
2026-01-08 06:28:14 +08:00
const detail: AssetsChangedPayload = { docId, asset, assetIds, mindmapDeleted, mindmapAssetIds };
2026-01-02 07:25:50 +08:00
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 } }));
}