[{"data":1,"prerenderedAt":388},["ShallowReactive",2],{"quirekit-doc:\u002Fplugins\u002Freference\u002Fcollaboration-flat":3},{"id":4,"title":5,"body":6,"description":12,"extension":375,"keywords":376,"locale":379,"meta":380,"navigation":381,"order":382,"path":383,"section":384,"seo":385,"stem":386,"__hash__":387},"docs\u002Fplugins\u002Freference\u002Fcollaboration-flat.zh-CN.md","CollaborationFlat · CRDT 协作",{"type":7,"value":8,"toc":358},"minimark",[9,13,24,28,34,77,86,89,95,107,136,143,146,157,161,164,171,175,178,184,190,193,196,201,206,209,212,217,222,225,228,232,236,240,243,247,252,256,259,264,269,272,279,317,325,328,331,342,354],[10,11,12],"p",{},"把一个 Core 连接到共享 CRDT 副本，提供按本地作者归属的撤销重做。必须提供 doc 并关闭普通 UndoRedo；网络同步与权限由宿主接入。",[10,14,15,19,20],{},[16,17,18],"code",{},"@quirekit\u002Fcollab-flat"," · ",[21,22,23],"strong",{},"AGPL-3.0-only",[25,26,27],"h2",{"id":27},"编辑器适用范围",[10,29,30,31],{},"层次：",[21,32,33],{},"共享文档能力",[35,36,37,53],"table",{},[38,39,40],"thead",{},[41,42,43,47,50],"tr",{},[44,45,46],"th",{},"编辑器",[44,48,49],{},"状态",[44,51,52],{},"所需装配与边界",[54,55,56,68],"tbody",{},[41,57,58,62,65],{},[59,60,61],"td",{},"Classic",[59,63,64],{},"需适配",[59,66,67],{},"需由宿主连接本页所列服务、目标与生命周期，并验证所选 View 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。",[41,69,70,73,75],{},[59,71,72],{},"Block",[59,74,64],{},[59,76,67],{},[10,78,79,80,85],{},"“直接支持”指已有上述产品装配；具体交互、宿主服务和格式支持仍有各自条件。",[81,82,84],"a",{"href":83},"\u002Fplugins\u002Fcompatibility","状态与接入规则","。许可独立显示。",[25,87,88],{"id":88},"接入",[10,90,91,92,94],{},"当前 ",[16,93,18],{}," 的包元数据标为 private。本站使用工作区源码；外部项目需先取得对应分发包，不能把下面的公开导出理解为已经能从公共 npm 安装。",[10,96,97,98,101,102,106],{},"在创建 Editor 时放入 ",[16,99,100],{},"extensions","。挂载容器、视图和保存由宿主提供，见",[81,103,105],{"href":104},"\u002Fguide\u002Fquick-start","快速开始","。",[108,109,114],"pre",{"className":110,"code":111,"language":112,"meta":113,"style":113},"language-ts shiki shiki-themes github-light github-light github-dark","import { CollaborationFlat } from '@quirekit\u002Fcollab-flat'\n","ts","",[16,115,116],{"__ignoreMap":113},[117,118,121,125,129,132],"span",{"class":119,"line":120},"line",1,[117,122,124],{"class":123},"sDD9d","import",[117,126,128],{"class":127},"sVPnS"," { CollaborationFlat } ",[117,130,131],{"class":123},"from",[117,133,135],{"class":134},"s-HEn"," '@quirekit\u002Fcollab-flat'\n",[10,137,138,139,106],{},"安装时按包声明选择兼容版本，外部可用版本以分发源为准。本站使用工作区 Alpha；许可标签来自入口所属包，使用条件见",[81,140,142],{"href":141},"\u002Fsupport","支持与许可",[25,144,145],{"id":145},"按编辑器接入",[10,147,148,149,152,153,156],{},"以下片段沿用已挂载的宿主元素 ",[16,150,151],{},"element","，宿主负责容器尺寸与保存；退出页面时调用 ",[16,154,155],{},"instance.destroy()","。已有预设装配的能力不要再重复追加；需要宿主端口的入口应先完成下方配置。",[158,159],"plugin-integration",{"name":160},"CollaborationFlat",[25,162,163],{"id":163},"配置",[10,165,166,167,106],{},"下面是扩展自身的默认选项。预设可以覆盖这些值；它们不等于当前文档属性。配置方法见",[81,168,170],{"href":169},"\u002Fplugins\u002Fconfiguration","配置插件",[172,173,174],"h3",{"id":174},"doc",[10,176,177],{},"本次协作会话共享的 CRDT 文档副本。必须提供，不能使用默认 null 建立可用协作。",[10,179,180,181],{},"类型：",[16,182,183],{},"CrdtDoc | null",[10,185,186,187],{},"默认：",[16,188,189],{},"null",[172,191,192],{"id":192},"granularity",[10,194,195],{},"覆盖已安装特性声明的属性合并粒度；未提供时使用特性自己的协作事实。",[10,197,180,198],{},[16,199,200],{},"AttributeGranularityResolver | undefined",[10,202,186,203],{},[16,204,205],{},"undefined",[172,207,208],{"id":208},"initialize",[10,210,211],{},"共享副本为空时，是否把当前编辑器的初始内容写入其中。",[10,213,180,214],{},[16,215,216],{},"boolean",[10,218,186,219],{},[16,220,221],{},"false",[172,223,224],{"id":224},"verify",[10,226,227],{},"是否在每次变更后用完整解码校验结果，主要用于测试与调试。",[10,229,180,230],{},[16,231,216],{},[10,233,186,234],{},[16,235,221],{},[172,237,239],{"id":238},"repairidentity","repairIdentity",[10,241,242],{},"是否由本编辑器修复容器身份；服务器统一修复时关闭。",[10,244,180,245],{},[16,246,216],{},[10,248,186,249],{},[16,250,251],{},"true",[172,253,255],{"id":254},"capturetimeout","captureTimeout",[10,257,258],{},"连续本地修改合并成一个协作撤销步骤的时间窗口，单位为毫秒。",[10,260,180,261],{},[16,262,263],{},"number",[10,265,186,266],{},[16,267,268],{},"500",[25,270,271],{"id":271},"命令与运行方式",[10,273,274,275,278],{},"以下命令由此扩展直接提供，均在当前 Editor 上调用。命令是否可用由已安装 schema、当前选区与保护策略决定；可以先用 ",[16,276,277],{},"editor.can()"," 查询。",[35,280,281,291],{},[38,282,283],{},[41,284,285,288],{},[44,286,287],{},"命令",[44,289,290],{},"参数签名",[54,292,293,305],{},[41,294,295,300],{},[59,296,297],{},[16,298,299],{},"undo",[59,301,302],{},[16,303,304],{},"undo()",[41,306,307,312],{},[59,308,309],{},[16,310,311],{},"redo",[59,313,314],{},[16,315,316],{},"redo()",[10,318,319,320,324],{},"这里只展示参数签名。接界面时见",[81,321,323],{"href":322},"\u002Fbuild\u002Fcommands","命令与控件","，正文变更继续经过同一事务与历史。",[10,326,327],{},"应关闭 StarterKit.undoRedo。扩展负责文档绑定与协作历史；鉴权、网络端点、离线副本保存与断线恢复仍是宿主接入工作。",[25,329,330],{"id":330},"下一步",[10,332,333,334,338,339,341],{},"返回",[81,335,337],{"href":336},"\u002Fplugins","全部插件","，或阅读",[81,340,170],{"href":169},"区分配置、文档属性与命令。",[10,343,344,345,349,350,106],{},"自己定义能力时见",[81,346,348],{"href":347},"\u002Fbuild\u002Fextension","扩展开发","；搭建完整宿主时见",[81,351,353],{"href":352},"\u002Fbuild","构建产品",[355,356,357],"style",{},"html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":113,"searchDepth":359,"depth":359,"links":360},2,[361,362,363,364,373,374],{"id":27,"depth":359,"text":27},{"id":88,"depth":359,"text":88},{"id":145,"depth":359,"text":145},{"id":163,"depth":359,"text":163,"children":365},[366,368,369,370,371,372],{"id":174,"depth":367,"text":174},3,{"id":192,"depth":367,"text":192},{"id":208,"depth":367,"text":208},{"id":224,"depth":367,"text":224},{"id":238,"depth":367,"text":239},{"id":254,"depth":367,"text":255},{"id":271,"depth":359,"text":271},{"id":330,"depth":359,"text":330},"md",[160,18,377,378,174,192,208,224,239,255,299,311,160],"CRDT 协作","integration","zh-CN",{"navigationTitle":160,"license":23},true,71,"\u002Fplugins\u002Freference\u002Fcollaboration-flat","协作与无障碍",{"title":5,"description":12},"plugins\u002Freference\u002Fcollaboration-flat.zh-CN","0UcazfOMiCj1xhEevao_cmXX5XgmtGD1nuQTxdVG-Ms",1793045210847]