5.3 KiB
5.3 KiB
ListModel
编辑列表节点的相关操作
类型:ListModelInterface
使用
new Engine(...).list
构造函数
new (editor: EditorInterface): ListModelInterface
属性
CUSTOMZIE_UL_CLASS
只读
自定义列表样式标记
CUSTOMZIE_LI_CLASS
只读
自定义列表项样式标记
INDENT_KEY
只读
列表缩进 key 标记,用于获取列表缩进值
方法
init
初始化
/**
* 初始化
*/
init(): void;
isEmptyItem
判断列表项节点是否为空
/**
* 判断列表项节点是否为空
* @param node 节点
*/
isEmptyItem(node: NodeInterface): boolean;
isSame
判断两个节点是否是一样的 List 节点
/**
* 判断两个节点是否是一样的List节点
* @param sourceNode 源节点
* @param targetNode 目标节点
*/
isSame(sourceNode: NodeInterface, targetNode: NodeInterface): boolean;
isSpecifiedType
判断节点集合是否是指定类型的 List 列表
/**
* 判断节点集合是否是指定类型的List列表
* @param blocks 节点集合
* @param name 节点标签类型
* @param card 是否是指定的自定义列表项的卡片名称
*/
isSpecifiedType(
blocks: Array<NodeInterface>,
name?: 'ul' | 'ol',
card?: string,
): boolean;
getPlugins
获取所有 List 插件
/**
* 获取所有List插件
*/
getPlugins(): Array<ListInterface>;
getPluginNameByNode
根据列表节点获取列表插件名称
/**
* 根据列表节点获取列表插件名称
* @param block 节点
*/
getPluginNameByNode(block: NodeInterface): string;
getPluginNameByNodes
获取一个列表节点集合所属列表插件名称
/**
* 获取一个列表节点集合所属列表插件名称
* @param blocks 节点集合
*/
getPluginNameByNodes(blocks: Array<NodeInterface>): string;
unwrapCustomize
清除自定义列表节点相关属性
/**
* 清除自定义列表节点相关属性
* @param node 节点
*/
unwrapCustomize(node: NodeInterface): NodeInterface;
unwrap
取消节点的列表
/**
* 取消节点的列表
* @param blocks 节点集合
*/
unwrap(blocks: Array<NodeInterface>): void;
normalize
获取当前选区的修复列表后的节点集合
/**
* 获取当前选区的修复列表后的节点集合
*/
normalize(): Array<NodeInterface>;
split
将选中列表项列表分割出来单独作为一个列表
/**
* 将选中列表项列表分割出来单独作为一个列表
*/
split(): void;
merge
合并列表
/**
* 合并列表
* @param blocks 节点集合,默认为当前选区的blocks
*/
merge(blocks?: Array<NodeInterface>, range?: RangeInterface): void;
addStart
给列表添加 start 序号
/**
* 给列表添加start序号
* @param block 列表节点
*/
addStart(block?: NodeInterface): void;
addIndent
给列表节点增加缩进
/**
* 给列表节点增加缩进
* @param block 列表节点
* @param value 缩进值
*/
addIndent(block: NodeInterface, value: number, maxValue?: number): void;
getIndent
获取列表节点 indent 值
/**
* 获取列表节点 indent 值
* @param block 列表节点
* @returns
*/
getIndent(block: NodeInterface): number;
addCardToCustomize
为自定义列表项添加卡片节点
/**
* 为自定义列表项添加卡片节点
* @param node 列表节点项
* @param cardName 卡片名称,必须是支持inline卡片类型
* @param value 卡片值
*/
addCardToCustomize(
node: NodeInterface | Node,
cardName: string,
value?: any,
): CardInterface | undefined;
addReadyCardToCustomize
为自定义列表项添加待渲染卡片节点
/**
* 为自定义列表项添加待渲染卡片节点
* @param node 列表节点项
* @param cardName 卡片名称,必须是支持inline卡片类型
* @param value 卡片值
*/
addReadyCardToCustomize(
node: NodeInterface | Node,
cardName: string,
value?: any,
): NodeInterface | undefined;
addBr
给列表添加 BR 标签
/**
* 给列表添加BR标签
* @param node 列表节点项
*/
addBr(node: NodeInterface): void;
toCustomize
将节点转换为自定义节点
/**
* 将节点转换为自定义节点
* @param blocks 节点
* @param cardName 卡片名称
* @param value 卡片值
*/
toCustomize(
blocks: Array<NodeInterface> | NodeInterface,
cardName: string,
value?: any,
): Array<NodeInterface> | NodeInterface;
toNormal
将节点转换为列表节点
/**
* 将节点转换为列表节点
* @param blocks 节点
* @param tagName 列表节点名称,ul 或者 ol,默认为ul
* @param start 有序列表开始序号
*/
toNormal(
blocks: Array<NodeInterface> | NodeInterface,
tagName?: 'ul' | 'ol',
start?: number,
): Array<NodeInterface> | NodeInterface;
isFirst
判断选中的区域是否在列表的开始
/**
* 判断选中的区域是否在列表的开始
* 选中的区域
*/
isFirst(range: RangeInterface): boolean;
isLast
判断选中的区域是否在列表的末尾
/**
* 判断选中的区域是否在列表的末尾
*/
isLast(range: RangeInterface): boolean;