am-editor-001/docs/api/editor-list.zh-CN.md

5.3 KiB
Raw Blame History

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;