ClassicEditorSearch · Classic 查找替换
为 查找替换能力注册 Classic 产品控件,配置沿用 Search 的公开选项。ClassicEditorKit 已装配该适配器时,不再重复追加。
为 查找替换能力注册 Classic 产品控件,配置沿用 Search 的公开选项。ClassicEditorKit 已装配该适配器时,不再重复追加。
@quirekit/classic-editor · AGPL-3.0-only
编辑器适用范围
层次:Classic 产品适配
| 编辑器 | 状态 | 所需装配与边界 |
|---|---|---|
| Classic | 直接支持 | classicEditorPreset — 使用产品中立的 classicEditorPreset;已有能力由预设装配,不要重复追加。Word 预设会替换段落、标题和容器列表,不能把通用结构直接叠加到 Word 模型。 |
| Block | 未支持 | Block 不消费 Classic 产品 contribution、plugins 或分页装配。请使用共享能力和 Block 适配入口,不能直接复制此入口的 Classic 配置。 |
“直接支持”指已有上述产品装配;具体交互、宿主服务和格式支持仍有各自条件。状态与接入规则。许可独立显示。
接入
pnpm add @quirekit/classic-editor@alpha
先使用 Classic 基础装配。这里的单项适配器用于自定义预设或替换子项;不能向已有装配再追加同名扩展。
import { ClassicEditorSearch } from '@quirekit/classic-editor'
安装时按包声明选择兼容版本,外部可用版本以分发源为准。本站使用工作区 Alpha;许可标签来自入口所属包,使用条件见支持与许可。
按编辑器接入
以下片段沿用已挂载的宿主元素 element,宿主负责容器尺寸与保存;退出页面时调用 instance.destroy()。已有预设装配的能力不要再重复追加;需要宿主端口的入口应先完成下方配置。
Classic · 直接支持
使用产品中立的 classicEditorPreset;已有能力由预设装配,不要重复追加。Word 预设会替换段落、标题和容器列表,不能把通用结构直接叠加到 Word 模型。
classicEditorPresetimport { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
const instance = createClassicEditor({ element })Block · 未支持
Block 不消费 Classic 产品 contribution、plugins 或分页装配。请使用共享能力和 Block 适配入口,不能直接复制此入口的 Classic 配置。
配置
下面是扩展自身的默认选项。预设可以覆盖这些值;它们不等于当前文档属性。配置方法见配置插件。
highlight
匹配结果与当前结果的展示颜色。Search 使用 match、active、activeOutline。
类型:SearchHighlightStyle
默认:{ match: "rgba(255, 196, 0, 0.35)", active: "transparent", activeOutline: "#e8710a" }
resolveScope
返回本次允许检索的文档范围;不提供时搜索完整文档。
类型:((state: EditorState) => readonly SearchScopeSegment[]) | undefined
默认:undefined
resolveExcludedScope
返回本次检索必须排除的范围,例如受业务管理的内容。
类型:((state: EditorState) => readonly SearchScopeSegment[]) | undefined
默认:undefined
checkReplaceable
替换前的宿主校验函数。返回 false 阻止该范围的替换。
类型:((state: EditorState, match: SearchMatch) => SearchReplaceVerdict) | undefined
默认:undefined
reveal
活动匹配变化时的宿主定位回调,可滚动到对应结果;不直接改正文。
类型:((tr: Transaction, match: SearchMatch) => void) | undefined
默认:undefined
命令与运行方式
以下命令由此扩展直接提供,均在当前 Editor 上调用。命令是否可用由已安装 schema、当前选区与保护策略决定;可以先用 editor.can() 查询。
| 命令 | 参数签名 |
|---|---|
setSearchQuery | setSearchQuery(text: string, queryOptions?: Partial<SearchOptions> | undefined, limit?: SearchRange | undefined) |
clearSearch | clearSearch() |
findNext | findNext() |
findPrevious | findPrevious() |
selectSearchMatch | selectSearchMatch(index: number) |
replaceSearchMatch | replaceSearchMatch(text: string) |
replaceAllSearchMatches | replaceAllSearchMatches(text: string) |
这里只展示参数签名。接界面时见命令与控件,正文变更继续经过同一事务与历史。
下一步
继续Classic 快速接入和配置与生命周期。开发自己的产品界面与服务时,见产品插件开发。