Slate Utils
udecode/slate-utils的 API 参考。
@udecode/slate-utils
包含用于 Slate 的实用函数。
查询
findDescendant
遍历编辑器中的所有节点并返回第一个匹配项。如果没有找到匹配项,则返回 undefined。
Parameters
要搜索后代节点的编辑器。
查找节点的选项。它可以包含匹配条件、起始位置、是否反向遍历以及是否包含空节点。
Returns
返回第一个匹配条件的节点entry,如果没有找到匹配项则返回 undefined
。
getBlockAbove
返回指定位置上方的块
- 默认值: 选区。
Parameters
要搜索块的编辑器。
查找位置上方块的选项。
Returns
返回指定位置上方的块。
getBlocks
从编辑器中检索块级节点entry。
Parameters
要搜索块级节点的编辑器。
获取节点entry的选项。
Returns
块级节点entry的数组。
getChildren
返回节点entry的子节点entry。
Parameters
要获取其子节点的节点entry。
Returns
返回子节点entry的数组。
getEdgeBlocksAbove
返回指定位置上方的边缘块。
- 默认值: 选区。
Parameters
要搜索边缘块的编辑器。
查找位置上方边缘块的选项。
Returns
返回包含指定位置上方的起始块和结束块的数组,如果未找到则返回 null
。
getFragmentProp
从节点片段中检索一个一致的属性值。
Parameters
要搜索属性的节点片段。
Returns
在片段中找到的一致属性值,如果没有找到一致的值则返回 undefined。
getFirstNodeText
从节点获取第一个文本节点。
Parameters
要搜索文本节点的根节点。
获取节点文本的选项。
Returns
返回第一个文本节点entry,如果未找到文本节点则返回 undefined
。
getLastChild
返回节点的最后一个子节点,如果没有子节点则返回 null
。
Parameters
要获取其最后一个子节点的节点entry。
Returns
返回节点的最后一个子节点,如果没有子节点则返回 null
。
getLastNodeByLevel
检索编辑器中指定层级的最后一个节点。
Parameters
要搜索最后一个节点的编辑器。
要查找最后一个节点的层级。
Returns
返回指定层级的最后一个节点entry,如果未找到节点则返回 undefined
。
getMark
在编辑器中通过键检索选区标记的值。
Parameters
选区标记所在的编辑器。
要检索的选区标记的键。
Returns
返回选区标记的值,如果未找到编辑器或标记则返回 undefined
。
getNextNodeStartPoint
检索编辑器中指定路径的下一个节点的起始点。
Parameters
要搜索下一个节点的编辑器。
要查找下一个节点的路径。
Returns
返回下一个节点的起始点,如果未找到下一个节点则返回 undefined
。
getNextSiblingNodes
检索祖先节点中指定路径之后的兄弟节点。
Parameters
兄弟节点的祖先节点。
参考节点的路径。
Returns
返回路径之后的兄弟节点数组,如果未找到兄弟节点则返回空数组。
getOperations
检索编辑器的操作。
Parameters
要获取其操作的编辑器。
Returns
返回编辑器的操作作为 TOperation
数组。
getPointBeforeLocation
返回位置之前的点,并提供额外选项来自定义行为。如果未提供选项或者既未定义 match
也未定义 matchString
,它将默认使用 getPointBefore
。
Parameters
要在位置之前查找点的编辑器。
开始的位置。
定义如何执行搜索的选项。
Returns
返回位置之前的点。如果未找到,则返回 undefined
。
getPointFromLocation
从位置返回点(默认值: 选区)。如果位置是范围,则获取锚点。如果位置是路径,则获取该路径上偏移量为 0 的点。
Parameters
要查找点的编辑器。
Returns
返回位置的点。
getPointNextToVoid
如果起始点在内联空节点内,则返回其前面或后面的点。
Parameters
要查找空节点旁边的点的编辑器。
Returns
返回空节点旁边的点。
getPreviousBlockById
通过 ID 查找块之前的块。如果未找到,则通过 ID 查找第一个块并返回 [null, 其前面的路径]
。
Parameters
要查找前一个块的编辑器。
块的 ID。
节点查询的选项。
Returns
如果找到,则返回前一个块的节点entry,否则返回 undefined。
getPreviousNodeEndPoint
获取前一个节点的结束点。
Parameters
要查找前一个节点结束点的编辑器。
开始搜索的路径。
Returns
如果找到,则返回前一个节点的结束点,否则返回 undefined
。
getPreviousPath
基于给定路径生成前一个路径。
Parameters
当前路径。
Returns
前一个路径,如果没有前一个路径则返回 undefined
。
getPreviousSiblingNode
从给定路径获取前一个兄弟节点。
Parameters
编辑器实例。
当前路径。
Returns
包含前一个兄弟节点及其路径的数组,如果没有前一个兄弟节点则返回 undefined
。
getRangeBefore
获取给定位置之前的点到位置结束点的范围。
Parameters
编辑器实例。
要考虑的位置。
获取位置之前点的选项。
Returns
从位置之前的点到位置结束点的范围,如果不存在这样的点则返回 undefined
。
getRangeFromBlockStart
获取从位置上方块的开始到位置的范围。
Parameters
编辑器实例。
获取位置上方块的选项。
Returns
从位置上方块的开始到位置的范围,如果不存在这样的块则返回 undefined
。
getSelectionFragment
检索当前选区的片段,可选择解包结构节点。
Parameters
要获取选区片段的编辑器。
Returns
表示当前选区片段的 TElement
数组。如果选区未展开或未找到片段,则返回空数组。
getSelectionText
从编辑器获取选中的文本。
Parameters
编辑器实例。
Returns
选中的文本,如果未选中文本则返回空字符串。
isAncestorEmpty
检查祖先节点是否为空(具有空文本且没有内联子节点)。
Parameters
编辑器实例。
要检查的祖先节点。
Returns
如果祖先节点为空则返回 true,否则返回 false。
isBlockAboveEmpty
检查选区上方的块是否为空。
Parameters
编辑器实例。
Returns
如果选区上方的块为空则返回 true,否则返回 false。
isBlockTextEmptyAfterSelection
检查选区后块中的文本是否为空。
Parameters
编辑器实例。
Returns
如果选区后块中的文本为空则返回 true,否则返回 false。
isDocumentEnd
检查选区是否在文档末尾。
Parameters
编辑器实例。
Returns
如果选区在文档末尾则返回 true,否则返回 false。
isFirstChild
检查节点是否是其父节点的第一个子节点。
Parameters
要检查的节点的路径。
Returns
如果节点是其父节点的第一个子节点则返回 true,否则返回 false。
isMarkActive
检查选区中是否激活了标记。
Parameters
编辑器实例。
标记键。
Returns
如果选区中激活了标记则返回 true。
isPointAtWordEnd
检查点是否在单词末尾。
Parameters
编辑器实例。
要检查的点。
Returns
如果点在单词末尾则返回 true,否则返回 false。
isRangeAcrossBlocks
确定范围(默认值: 选区)是否跨越多个块。
Parameters
编辑器实例。
要检查的范围。如果未提供,则使用选区范围。
Returns
如果范围跨越多个块则返回 true,如果在单个块内则返回 false,如果未找到块则返回 undefined。
isRangeInSameBlock
确定范围是否在同一个块内。
Parameters
编辑器实例。
要检查的范围。如果未提供,则使用选区范围。
Returns
如果范围在同一个块内则返回 true,否则返回 false。
isRangeInSingleText
检查范围是否在单个文本路径内。
Parameters
要检查的范围。
Returns
如果范围在单个文本路径内则返回 true,否则返回 false。
isSelectionAtBlockEnd
检查选区焦点是否在其父块的末尾。
Parameters
编辑器实例。
选项对象。
Returns
如果选区焦点在其父块的末尾则返回 true,否则返回 false。
isSelectionAtBlockStart
检查选区锚点或焦点是否在其父块的开始。
Parameters
编辑器实例。
选项对象。
Returns
如果选区锚点或焦点在其父块的开始则返回 true,否则返回 false。
isSelectionExpanded
检查选区是否展开。
Parameters
编辑器实例。
Returns
如果选区展开则返回 true,否则返回 false。
isTextByPath
检查给定路径的节点是否是文本节点。
Parameters
编辑器实例。
要检查的节点的路径。
Returns
如果节点是文本节点则返回 true,否则返回 false。
isWordAfterTrigger
检查给定点的单词是否在触发器(标点符号)之后。
Parameters
编辑器实例。
要检查的点。
要检查的触发字符。
Returns
一个对象,包含从前一个单词开始之前的点到给定点的范围,如果该范围的文本以触发器开始并以单词字符结束,则包含匹配项。
queryEditor
查询编辑器状态。
Parameters
编辑器实例。
选项对象,可以包含过滤函数、selectionAtBlockStart、selectionAtBlockEnd、allow、exclude 和 at 属性。
Returns
如果编辑器状态匹配查询则返回 true,否则返回 false。
转换
duplicateBlocks
复制给定的块并将它们插入到选区中最后一个块之后。
Parameters
编辑器实例。
表示要复制的块的节点entry数组。
insertElements
在文档中的位置插入节点。
Parameters
编辑器实例。
要插入的节点。
选项对象。
insertEmptyElement
在文档中的位置插入空元素。
Parameters
编辑器实例。
要插入的元素的类型。
选项对象。
moveChildren
将节点的子节点移动到路径。
Parameters
编辑器实例。
选项对象,包括 at
、to
、match
和 fromStartIndex
属性。
Returns
移动的子节点数量。
removeEditorText
从编辑器中删除所有非空文本节点。
Parameters
编辑器实例。
删除节点的选项。选项中的 match
函数将与文本长度检查组合。
removeMark
删除标记,如果选区折叠则触发 onChange
。
Parameters
编辑器实例。
选项对象,包括 key
、at
和 shouldChange
属性。
removeNodeChildren
删除节点的所有子节点。
Parameters
编辑器实例。
要删除子节点的节点的路径。
选项对象。
removeSelectionMark
从选区中删除所有标记。
Parameters
编辑器实例。
replaceNodeChildren
替换节点的子节点:先删除后插入。
Parameters
编辑器实例。
选项对象,包括 at
、nodes
、insertOptions
和 removeOptions
属性。
selectEndOfBlockAboveSelection
选择选区上方块的结束点。
Parameters
编辑器实例。
selectNodes
选择包含给定节点的范围。
Parameters
编辑器实例。
要选择的节点entry数组。
setBlockAboveNode
在当前选区上方的块上设置属性。
Parameters
编辑器实例。
要在块上设置的属性。
设置节点的选项,不包括 'at' 属性。
setBlockAboveTexts
在当前选区上方块内的最低级节点上设置属性。
Parameters
编辑器实例。
要在文本节点上设置的属性。
设置节点的选项,不包括 'at' 属性。
setBlockNodes
在所有匹配给定选项的块节点上设置属性。
Parameters
编辑器实例。
要在匹配的块节点上设置的属性。
获取要更新的节点entry的选项。
setMarks
在选中的文本上设置标记。
Parameters
编辑器实例。
要设置的标记。
要清除的标记。
toggleMark
在选区中添加或删除标记。
Parameters
编辑器实例。
选项对象,包含 key
和 clear
属性。
toggleWrapNodes
如果选区中存在该节点类型则解除包装,否则进行包装。
Parameters
编辑器实例。
节点的类型。
wrapNodeChildren
将节点的子节点包装到单个元素中。
Parameters
编辑器实例。
新的父元素。
选项对象,包含 at
属性。
Utils
createDocumentNode
创建一个新的文档节点。
Parameters
- 默认值:
'p'
- 默认值: 空字符串。
- 默认值: 空数组。
节点的类型。
节点的文本。
剩余的节点。
Returns
一个 TDescendant
节点数组,以新创建的节点开始。
createNode
创建一个新节点。
Parameters
- 默认值:
'p'
- 默认值: 空字符串。
节点的类型。
节点的文本。
Returns
一个新的 TElement
节点。