Slate Utils

udecode/slate-utils的 API 参考。

@udecode/slate-utils 包含用于 Slate 的实用函数。

查询

findDescendant

遍历编辑器中的所有节点并返回第一个匹配项。如果没有找到匹配项,则返回 undefined。

Parameters

Collapse all

    要搜索后代节点的编辑器。

    查找节点的选项。它可以包含匹配条件、起始位置、是否反向遍历以及是否包含空节点。

Returns

    返回第一个匹配条件的节点entry,如果没有找到匹配项则返回 undefined

getBlockAbove

返回指定位置上方的块

  • 默认值: 选区。

Parameters

Collapse all

    要搜索块的编辑器。

    查找位置上方块的选项。

Returns

    返回指定位置上方的块。

getBlocks

从编辑器中检索块级节点entry。

Parameters

Collapse all

    要搜索块级节点的编辑器。

    获取节点entry的选项。

Returns

    块级节点entry的数组。

getChildren

返回节点entry的子节点entry。

Parameters

Collapse all

    要获取其子节点的节点entry。

Returns

    返回子节点entry的数组。

getEdgeBlocksAbove

返回指定位置上方的边缘块。

  • 默认值: 选区。

Parameters

Collapse all

    要搜索边缘块的编辑器。

    查找位置上方边缘块的选项。

Returns

    返回包含指定位置上方的起始块和结束块的数组,如果未找到则返回 null

getFragmentProp

从节点片段中检索一个一致的属性值。

Parameters

Collapse all

    要搜索属性的节点片段。

Returns

    在片段中找到的一致属性值,如果没有找到一致的值则返回 undefined。

getFirstNodeText

从节点获取第一个文本节点。

Parameters

Collapse all

    要搜索文本节点的根节点。

    获取节点文本的选项。

Returns

    返回第一个文本节点entry,如果未找到文本节点则返回 undefined

getLastChild

返回节点的最后一个子节点,如果没有子节点则返回 null

Parameters

Collapse all

    要获取其最后一个子节点的节点entry。

Returns

    返回节点的最后一个子节点,如果没有子节点则返回 null

getLastNodeByLevel

检索编辑器中指定层级的最后一个节点。

Parameters

Collapse all

    要搜索最后一个节点的编辑器。

    要查找最后一个节点的层级。

Returns

    返回指定层级的最后一个节点entry,如果未找到节点则返回 undefined

getMark

在编辑器中通过键检索选区标记的值。

Parameters

Collapse all

    选区标记所在的编辑器。

    要检索的选区标记的键。

Returns

    返回选区标记的值,如果未找到编辑器或标记则返回 undefined

getNextNodeStartPoint

检索编辑器中指定路径的下一个节点的起始点。

Parameters

Collapse all

    要搜索下一个节点的编辑器。

    要查找下一个节点的路径。

Returns

    返回下一个节点的起始点,如果未找到下一个节点则返回 undefined

getNextSiblingNodes

检索祖先节点中指定路径之后的兄弟节点。

Parameters

Collapse all

    兄弟节点的祖先节点。

    参考节点的路径。

Returns

    返回路径之后的兄弟节点数组,如果未找到兄弟节点则返回空数组。

getOperations

检索编辑器的操作。

Parameters

Collapse all

    要获取其操作的编辑器。

Returns

    返回编辑器的操作作为 TOperation 数组。

getPointBeforeLocation

返回位置之前的点,并提供额外选项来自定义行为。如果未提供选项或者既未定义 match 也未定义 matchString,它将默认使用 getPointBefore

Parameters

Collapse all

    要在位置之前查找点的编辑器。

    开始的位置。

    定义如何执行搜索的选项。

Returns

    返回位置之前的点。如果未找到,则返回 undefined

getPointFromLocation

从位置返回点(默认值: 选区)。如果位置是范围,则获取锚点。如果位置是路径,则获取该路径上偏移量为 0 的点。

Parameters

Collapse all

    要查找点的编辑器。

Returns

    返回位置的点。

getPointNextToVoid

如果起始点在内联空节点内,则返回其前面或后面的点。

Parameters

Collapse all

    要查找空节点旁边的点的编辑器。

Returns

    返回空节点旁边的点。

getPreviousBlockById

通过 ID 查找块之前的块。如果未找到,则通过 ID 查找第一个块并返回 [null, 其前面的路径]

Parameters

Collapse all

    要查找前一个块的编辑器。

    块的 ID。

    节点查询的选项。

Returns

    如果找到,则返回前一个块的节点entry,否则返回 undefined。

getPreviousNodeEndPoint

获取前一个节点的结束点。

Parameters

Collapse all

    要查找前一个节点结束点的编辑器。

    开始搜索的路径。

Returns

    如果找到,则返回前一个节点的结束点,否则返回 undefined

getPreviousPath

基于给定路径生成前一个路径。

Parameters

Collapse all

    当前路径。

Returns

    前一个路径,如果没有前一个路径则返回 undefined

getPreviousSiblingNode

从给定路径获取前一个兄弟节点。

Parameters

Collapse all

    编辑器实例。

    当前路径。

Returns

    包含前一个兄弟节点及其路径的数组,如果没有前一个兄弟节点则返回 undefined

getRangeBefore

获取给定位置之前的点到位置结束点的范围。

Parameters

Collapse all

    编辑器实例。

    要考虑的位置。

    获取位置之前点的选项。

Returns

    从位置之前的点到位置结束点的范围,如果不存在这样的点则返回 undefined

getRangeFromBlockStart

获取从位置上方块的开始到位置的范围。

Parameters

Collapse all

    编辑器实例。

    获取位置上方块的选项。

Returns

    从位置上方块的开始到位置的范围,如果不存在这样的块则返回 undefined

getSelectionFragment

检索当前选区的片段,可选择解包结构节点。

Parameters

Collapse all

    要获取选区片段的编辑器。

Returns

    表示当前选区片段的 TElement 数组。如果选区未展开或未找到片段,则返回空数组。

getSelectionText

从编辑器获取选中的文本。

Parameters

Collapse all

    编辑器实例。

Returns

    选中的文本,如果未选中文本则返回空字符串。

isAncestorEmpty

检查祖先节点是否为空(具有空文本且没有内联子节点)。

Parameters

Collapse all

    编辑器实例。

    要检查的祖先节点。

Returns

    如果祖先节点为空则返回 true,否则返回 false。

isBlockAboveEmpty

检查选区上方的块是否为空。

Parameters

Collapse all

    编辑器实例。

Returns

    如果选区上方的块为空则返回 true,否则返回 false。

isBlockTextEmptyAfterSelection

检查选区后块中的文本是否为空。

Parameters

Collapse all

    编辑器实例。

Returns

    如果选区后块中的文本为空则返回 true,否则返回 false。

isDocumentEnd

检查选区是否在文档末尾。

Parameters

Collapse all

    编辑器实例。

Returns

    如果选区在文档末尾则返回 true,否则返回 false。

isFirstChild

检查节点是否是其父节点的第一个子节点。

Parameters

Collapse all

    要检查的节点的路径。

Returns

    如果节点是其父节点的第一个子节点则返回 true,否则返回 false。

isMarkActive

检查选区中是否激活了标记。

Parameters

Collapse all

    编辑器实例。

    标记键。

Returns

    如果选区中激活了标记则返回 true。

isPointAtWordEnd

检查点是否在单词末尾。

Parameters

Collapse all

    编辑器实例。

    要检查的点。

Returns

    如果点在单词末尾则返回 true,否则返回 false。

isRangeAcrossBlocks

确定范围(默认值: 选区)是否跨越多个块。

Parameters

Collapse all

    编辑器实例。

    要检查的范围。如果未提供,则使用选区范围。

Returns

    如果范围跨越多个块则返回 true,如果在单个块内则返回 false,如果未找到块则返回 undefined。

isRangeInSameBlock

确定范围是否在同一个块内。

Parameters

Collapse all

    编辑器实例。

    要检查的范围。如果未提供,则使用选区范围。

Returns

    如果范围在同一个块内则返回 true,否则返回 false。

isRangeInSingleText

检查范围是否在单个文本路径内。

Parameters

Collapse all

    要检查的范围。

Returns

    如果范围在单个文本路径内则返回 true,否则返回 false。

isSelectionAtBlockEnd

检查选区焦点是否在其父块的末尾。

Parameters

Collapse all

    编辑器实例。

    选项对象。

Returns

    如果选区焦点在其父块的末尾则返回 true,否则返回 false。

isSelectionAtBlockStart

检查选区锚点或焦点是否在其父块的开始。

Parameters

Collapse all

    编辑器实例。

    选项对象。

Returns

    如果选区锚点或焦点在其父块的开始则返回 true,否则返回 false。

isSelectionExpanded

检查选区是否展开。

Parameters

Collapse all

    编辑器实例。

Returns

    如果选区展开则返回 true,否则返回 false。

isTextByPath

检查给定路径的节点是否是文本节点。

Parameters

Collapse all

    编辑器实例。

    要检查的节点的路径。

Returns

    如果节点是文本节点则返回 true,否则返回 false。

isWordAfterTrigger

检查给定点的单词是否在触发器(标点符号)之后。

Parameters

Collapse all

    编辑器实例。

    要检查的点。

    要检查的触发字符。

Returns

    一个对象,包含从前一个单词开始之前的点到给定点的范围,如果该范围的文本以触发器开始并以单词字符结束,则包含匹配项。

queryEditor

查询编辑器状态。

Parameters

Collapse all

    编辑器实例。

    选项对象,可以包含过滤函数、selectionAtBlockStart、selectionAtBlockEnd、allow、exclude 和 at 属性。

Returns

    如果编辑器状态匹配查询则返回 true,否则返回 false。

转换

duplicateBlocks

复制给定的块并将它们插入到选区中最后一个块之后。

Parameters

Collapse all

    编辑器实例。

    表示要复制的块的节点entry数组。

insertElements

在文档中的位置插入节点。

Parameters

Collapse all

    编辑器实例。

    要插入的节点。

    选项对象。

insertEmptyElement

在文档中的位置插入空元素。

Parameters

Collapse all

    编辑器实例。

    要插入的元素的类型。

    选项对象。

moveChildren

将节点的子节点移动到路径。

Parameters

Collapse all

    编辑器实例。

    选项对象,包括 attomatchfromStartIndex 属性。

Returns

    移动的子节点数量。

removeEditorText

从编辑器中删除所有非空文本节点。

Parameters

Collapse all

    编辑器实例。

    删除节点的选项。选项中的 match 函数将与文本长度检查组合。

removeMark

删除标记,如果选区折叠则触发 onChange

Parameters

Collapse all

    编辑器实例。

    选项对象,包括 keyatshouldChange 属性。

removeNodeChildren

删除节点的所有子节点。

Parameters

Collapse all

    编辑器实例。

    要删除子节点的节点的路径。

    选项对象。

removeSelectionMark

从选区中删除所有标记。

Parameters

Collapse all

    编辑器实例。

replaceNodeChildren

替换节点的子节点:先删除后插入。

Parameters

Collapse all

    编辑器实例。

    选项对象,包括 atnodesinsertOptionsremoveOptions 属性。

selectEndOfBlockAboveSelection

选择选区上方块的结束点。

Parameters

Collapse all

    编辑器实例。

selectNodes

选择包含给定节点的范围。

Parameters

Collapse all

    编辑器实例。

    要选择的节点entry数组。

setBlockAboveNode

在当前选区上方的块上设置属性。

Parameters

Collapse all

    编辑器实例。

    要在块上设置的属性。

    设置节点的选项,不包括 'at' 属性。

setBlockAboveTexts

在当前选区上方块内的最低级节点上设置属性。

Parameters

Collapse all

    编辑器实例。

    要在文本节点上设置的属性。

    设置节点的选项,不包括 'at' 属性。

setBlockNodes

在所有匹配给定选项的块节点上设置属性。

Parameters

Collapse all

    编辑器实例。

    要在匹配的块节点上设置的属性。

    获取要更新的节点entry的选项。

setMarks

在选中的文本上设置标记。

Parameters

Collapse all

    编辑器实例。

    要设置的标记。

    要清除的标记。

toggleMark

在选区中添加或删除标记。

Parameters

Collapse all

    编辑器实例。

    选项对象,包含 keyclear 属性。

toggleWrapNodes

如果选区中存在该节点类型则解除包装,否则进行包装。

Parameters

Collapse all

    编辑器实例。

    节点的类型。

wrapNodeChildren

将节点的子节点包装到单个元素中。

Parameters

Collapse all

    编辑器实例。

    新的父元素。

    选项对象,包含 at 属性。

Utils

createDocumentNode

创建一个新的文档节点。

Parameters

Collapse all

    节点的类型。

    • 默认值: 'p'

    节点的文本。

    • 默认值: 空字符串。

    剩余的节点。

    • 默认值: 空数组。

Returns

    一个 TDescendant 节点数组,以新创建的节点开始。

createNode

创建一个新节点。

Parameters

Collapse all

    节点的类型。

    • 默认值: 'p'

    节点的文本。

    • 默认值: 空字符串。

Returns

    一个新的 TElement 节点。