0.2 在线版本打通
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
"use client";
|
||||
|
||||
import { create } from "zustand";
|
||||
import type { ReferenceTarget } from "@/types/search";
|
||||
import type { Json } from "@/types/supabase";
|
||||
import type { MediaAsset } from "@/types/media";
|
||||
|
||||
export interface EditorReferenceBridgeResult {
|
||||
blockId: string | null;
|
||||
}
|
||||
|
||||
export interface EditorReferenceBridge {
|
||||
insertInlineReference: (target: ReferenceTarget, alias?: string) => EditorReferenceBridgeResult;
|
||||
insertEmbedReference: (target: ReferenceTarget) => EditorReferenceBridgeResult;
|
||||
/**
|
||||
* 向当前打开的文档插入一个“附件/媒体”块。
|
||||
* 主要用于侧边栏文件树拖拽上传后,把文件显示到主编辑区。
|
||||
*/
|
||||
insertMediaAsset?: (asset: MediaAsset) => void;
|
||||
replaceWithSnapshot: (blocks: Json) => void;
|
||||
openTableFullScreen?: (tableId: string) => void;
|
||||
}
|
||||
|
||||
interface EditorBridgeState {
|
||||
bridge: EditorReferenceBridge | null;
|
||||
registerBridge: (bridge: EditorReferenceBridge | null) => void;
|
||||
}
|
||||
|
||||
export const useEditorBridgeStore = create<EditorBridgeState>((set) => ({
|
||||
bridge: null,
|
||||
registerBridge: (bridge) => set({ bridge }),
|
||||
}));
|
||||
Reference in New Issue
Block a user