logo

DocumentNode

DocumentNode 是整个文档结构的根节点。每一个 Motiff 文档有且仅有一个对应的 DocumentNode,DocumentNode 节点的子节点都是 PageNode,你可以通过 DocumentNode 遍历整个文档。

Document properties

type: 'DOCUMENT' [readonly]

节点类型,值为 "DOCUMENT"

children: ReadonlyArray<PageNode> [readonly]

包含所有子节点的数组。在 DocumentNode 中,子节点只能是页面节点(PageNode)

documentColorProfile: 'SRGB' | 'DISPLAY_P3' [readonly]

文档的颜色配置文件

appendChild(child: PageNode): void

添加新页面到文档末尾

insertChild(index: number, child: PageNode): void

在指定位置插入新页面

findChildren(callback?: (node: PageNode) => boolean): Array<PageNode>

在文档的直接子节点中搜索(即所有页面节点,不包含它们的子元素)。返回所有满足条件的页面节点。

findChild(callback: (node: PageNode) => boolean): PageNode | null

在文档的直接子节点中搜索(即所有页面节点,不包含它们的子元素)。返回第一个满足条件的页面节点。

findAll(callback?: (node: PageNode | SceneNode) => boolean): Array<PageNode | SceneNode>

搜索整个文档树,返回所有满足条件的节点。

findOne(callback: (node: PageNode | SceneNode) => boolean): PageNode | SceneNode | null

搜索整个文档树,返回第一个满足条件的节点。

findAllWithCriteria<T extends NodeType[]>(criteria: FindAllCriteria<T>): Array< { type: T[number] } & (PageNode | SceneNode)>

搜索整个文档树,返回满足所有指定条件的节点。与普通的 findAll 不同,这个方法会搜索文档中的所有节点,包括 PageNode 对象。

Base node properties

id: string [readonly]

节点的唯一标识符,例如 "42:43"

parent: (BaseNode & ChildrenMixin) | null [readonly]

返回当前节点的父节点(如果存在)。请注意这是一个只读属性,如需修改父节点,请使用 appendChild 方法。

name: string

在图层面板中显示的图层名称。调用 motiff.root.name 将返回当前文件的名称(只读)。

removed: boolean [readonly]

如果节点被删除,则返回 true。对于长时间运行的插件,建议编写防御性代码检查节点是否已被用户删除。

toString(): string

返回节点的字符串表示。此方法仅用于调试目的,请勿在生产环境中依赖其具体输出格式。

remove(): void

从文档中删除此节点及其所有子节点。

Plugin data properties

getPluginData(key: string): string

获取存储在节点或样式上的自定义数据。如果指定 key 不存在,返回空字符串。

setPluginData(key: string, value: string): void

在节点或样式上存储插件私有的自定义数据。

getPluginDataKeys(): string[]

获取存储在节点或样式上的所有自定义数据的 key。

getSharedPluginData(namespace: string, key: string): string

获取存储在节点或样式上的共享数据。如果指定的 namespace 和 key 不存在,返回空字符串。

setSharedPluginData(namespace: string, key: string, value: string): void

在节点或样式上存储可供所有插件访问的共享数据。

getSharedPluginDataKeys(namespace: string): string[]

获取指定 namespace 下所有共享数据的 key。