UNPKG

@textbus/collaborate

Version:

Textbus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.

46 lines (45 loc) 1.45 kB
import { Doc, Doc as YDoc } from 'yjs'; import { AsyncComponent, AsyncSlot } from '@textbus/core'; /** * 子文档加载器 */ export declare abstract class SubModelLoader { /** * 通过插槽获取已加载的文档 * @param slot */ abstract getLoadedModelBySlot(slot: AsyncSlot): YDoc | null; /** * 通过组件获取已加载的文档 * @param component */ abstract getLoadedModelByComponent(component: AsyncComponent): YDoc | null; /** * 当本地新增异步子插槽时调用 * @param slot */ abstract createSubModelBySlot(slot: AsyncSlot): Promise<YDoc>; /** * 当本地新增异步子组件时调用 * @param component */ abstract createSubModelByComponent(component: AsyncComponent): Promise<YDoc>; /** * 当远程异步子插槽同步到本地时调用 * @param slot */ abstract loadSubModelBySlot(slot: AsyncSlot): Promise<YDoc>; /** * 当远程异步子组件同步到本地时调用 * @param component */ abstract loadSubModelByComponent(component: AsyncComponent): Promise<YDoc>; } export declare class NonSubModelLoader extends SubModelLoader { createSubModelBySlot(): Promise<Doc>; createSubModelByComponent(): Promise<Doc>; loadSubModelByComponent(): Promise<Doc>; loadSubModelBySlot(): Promise<Doc>; getLoadedModelBySlot(): Doc; getLoadedModelByComponent(): Doc; }