CollaborationFlat · CRDT 协作
把一个 Core 连接到共享 CRDT 副本,提供按本地作者归属的撤销重做。必须提供 doc 并关闭普通 UndoRedo;网络同步与权限由宿主接入。
把一个 Core 连接到共享 CRDT 副本,提供按本地作者归属的撤销重做。必须提供 doc 并关闭普通 UndoRedo;网络同步与权限由宿主接入。
@quirekit/collab-flat · AGPL-3.0-only
编辑器适用范围
层次:共享文档能力
| 编辑器 | 状态 | 所需装配与边界 |
|---|---|---|
| Classic | 需适配 | 需由宿主连接本页所列服务、目标与生命周期,并验证所选 View 和文档模型。核心接口可复用,但没有一段无宿主参数的通用产品安装代码。 |
| Block | 需适配 | 需由宿主连接本页所列服务、目标与生命周期,并验证所选 View 和文档模型。核心接口可复用,但没有一段无宿主参数的通用产品安装代码。 |
“直接支持”指已有上述产品装配;具体交互、宿主服务和格式支持仍有各自条件。状态与接入规则。许可独立显示。
接入
当前 @quirekit/collab-flat 的包元数据标为 private。本站使用工作区源码;外部项目需先取得对应分发包,不能把下面的公开导出理解为已经能从公共 npm 安装。
在创建 Editor 时放入 extensions。挂载容器、视图和保存由宿主提供,见快速开始。
import { CollaborationFlat } from '@quirekit/collab-flat'
安装时按包声明选择兼容版本,外部可用版本以分发源为准。本站使用工作区 Alpha;许可标签来自入口所属包,使用条件见支持与许可。
按编辑器接入
以下片段沿用已挂载的宿主元素 element,宿主负责容器尺寸与保存;退出页面时调用 instance.destroy()。已有预设装配的能力不要再重复追加;需要宿主端口的入口应先完成下方配置。
Classic · 需适配
需由宿主连接本页所列服务、目标与生命周期,并验证所选 View 和文档模型。核心接口可复用,但没有一段无宿主参数的通用产品安装代码。
Block · 需适配
需由宿主连接本页所列服务、目标与生命周期,并验证所选 View 和文档模型。核心接口可复用,但没有一段无宿主参数的通用产品安装代码。
配置
下面是扩展自身的默认选项。预设可以覆盖这些值;它们不等于当前文档属性。配置方法见配置插件。
doc
本次协作会话共享的 CRDT 文档副本。必须提供,不能使用默认 null 建立可用协作。
类型:CrdtDoc | null
默认:null
granularity
覆盖已安装特性声明的属性合并粒度;未提供时使用特性自己的协作事实。
类型:AttributeGranularityResolver | undefined
默认:undefined
initialize
共享副本为空时,是否把当前编辑器的初始内容写入其中。
类型:boolean
默认:false
verify
是否在每次变更后用完整解码校验结果,主要用于测试与调试。
类型:boolean
默认:false
repairIdentity
是否由本编辑器修复容器身份;服务器统一修复时关闭。
类型:boolean
默认:true
captureTimeout
连续本地修改合并成一个协作撤销步骤的时间窗口,单位为毫秒。
类型:number
默认:500
命令与运行方式
以下命令由此扩展直接提供,均在当前 Editor 上调用。命令是否可用由已安装 schema、当前选区与保护策略决定;可以先用 editor.can() 查询。
| 命令 | 参数签名 |
|---|---|
undo | undo() |
redo | redo() |
这里只展示参数签名。接界面时见命令与控件,正文变更继续经过同一事务与历史。
应关闭 StarterKit.undoRedo。扩展负责文档绑定与协作历史;鉴权、网络端点、离线副本保存与断线恢复仍是宿主接入工作。