| title | DocumentModel |
|---|---|
| sidebar_position | 0 |
@types IPublicModelDocumentModel
@since v1.0.0
文档模型
唯一 ID
@type {string}
画布节点选中区模型实例
@type {IPublicModelSelection}
相关章节:节点选中区模型
画布节点 hover 区模型实例
@type {IPublicModelDetecting}
相关章节:画布节点悬停模型
操作历史模型实例
@type {IPublicModelHistory}
相关章节:操作历史模型
相关类型:IPublicModelHistory
获取当前文档模型所属的 project
@type {IPublicApiProject}
相关类型:IPublicApiProject
获取文档的根节点
@type {IPublicModelNode | null}
相关类型:IPublicModelNode
获取文档下所有节点 Map, key 为 nodeId
@type {Map<string, IPublicModelNode>}
相关章节:节点模型
相关类型:IPublicModelNode
模态节点管理器
@type {IPublicModelModalNodesManager | null}
相关章节:模态节点管理
相关类型:IPublicModelModalNodesManager
文档的 dropLocation
@type {IPublicModelDropLocation | null}
@since v1.1.0
根据 nodeId 返回 Node 实例
/**
* 根据 nodeId 返回 Node 实例
* get node by nodeId
* @param nodeId
* @returns
*/
getNodeById(nodeId: string): IPublicModelNode | null;相关类型:IPublicModelNode
导入 schema
/**
* 导入 schema
* import schema data
* @param schema
*/
importSchema(schema: IPublicTypeRootSchema): void;导出 schema
/**
* 导出 schema
* export schema
* @param stage
* @returns
*/
exportSchema(stage: IPublicEnumTransformStage): any;相关类型:IPublicEnumTransformStage
插入节点
/**
* 插入节点
* insert a node
*/
insertNode(
parent: IPublicModelNode,
thing: IPublicModelNode,
at?: number | null | undefined,
copy?: boolean | undefined
): IPublicModelNode | null;相关类型:IPublicModelNode
创建一个节点
/**
* 创建一个节点
* create a node
* @param data
* @returns
*/
createNode(data: any): IPublicModelNode | null;相关类型:IPublicModelNode
移除指定节点/节点id
/**
* 移除指定节点/节点id
* remove a node by node instance or nodeId
* @param idOrNode
*/
removeNode(idOrNode: string | IPublicModelNode): void;相关类型:IPublicModelNode
检查拖拽放置的目标节点是否可以放置该拖拽对象
/**
* 检查拖拽放置的目标节点是否可以放置该拖拽对象
* check if dragOjbect can be put in this dragTarget
* @param dropTarget 拖拽放置的目标节点
* @param dragObject 拖拽的对象
* @returns boolean 是否可以放置
* @since v1.0.16
*/
checkNesting(
dropTarget: IPublicModelNode,
dragObject: IPublicTypeDragNodeObject | IPublicTypeDragNodeDataObject
): boolean;相关类型:
@since v1.0.16
检查拖拽放置的目标节点是否可以放置该拖拽对象
/**
* 判断是否当前节点处于被探测状态
* check is node being detected
* @param node
* @since v1.1.0
*/
isDetectingNode(node: IPublicModelNode): boolean;相关类型:IPublicModelNode
@since v1.1.0
当前 document 新增节点事件
/**
* 当前 document 新增节点事件
* set callback for event on node is created for a document
*/
onAddNode(fn: (node: IPublicModelNode) => void): IPublicTypeDisposable;相关类型:
当前 document 新增节点事件,此时节点已经挂载到 document 上
/**
* 当前 document 新增节点事件,此时节点已经挂载到 document 上
* set callback for event on node is mounted to canvas
*/
onMountNode(fn: (payload: { node: IPublicModelNode }) => void): IPublicTypeDisposable;相关类型:
当前 document 删除节点事件
/**
* 当前 document 删除节点事件
* set callback for event on node is removed
*/
onRemoveNode(fn: (node: IPublicModelNode) => void): IPublicTypeDisposable;相关类型:
当前 document 的 hover 变更事件
/**
* 当前 document 的 hover 变更事件
*
* set callback for event on detecting changed
*/
onChangeDetecting(fn: (node: IPublicModelNode) => void): IPublicTypeDisposable;相关类型:
当前 document 的选中变更事件
/**
* 当前 document 的选中变更事件
* set callback for event on selection changed
*/
onChangeSelection(fn: (ids: string[]) => void): IPublicTypeDisposable;当前 document 的节点显隐状态变更事件
/**
* 当前 document 的节点显隐状态变更事件
* set callback for event on visibility changed for certain node
* @param fn
*/
onChangeNodeVisible(fn: (node: IPublicModelNode, visible: boolean) => void): IPublicTypeDisposable;- 相关类型:IPublicModelNode
- 相关类型:IPublicTypeDisposable
当前 document 的节点 children 变更事件
onChangeNodeChildren(fn: (info?: IPublicTypeOnChangeOptions) => void): IPublicTypeDisposable;当前 document 节点属性修改事件
onChangeNodeProp(fn: (info: IPublicTypePropChangeOptions) => void): IPublicTypeDisposable;当前 document 导入新的 schema 事件
/**
* import schema event
* @param fn
* @since v1.0.15
*/
onImportSchema(fn: (schema: IPublicTypeRootSchema) => void): IPublicTypeDisposable;相关类型:
@since v1.0.15
设置聚焦节点变化的回调
/**
* 设置聚焦节点变化的回调
* triggered focused node is set mannually from plugin
* @param fn
* @since v1.1.0
*/
onFocusNodeChanged(
fn: (doc: IPublicModelDocumentModel, focusNode: IPublicModelNode) => void,
): IPublicTypeDisposable;相关类型:
@since v1.1.0
设置 DropLocation 变化的回调
/**
* 设置 DropLocation 变化的回调
* triggered when drop location changed
* @param fn
* @since v1.1.0
*/
onDropLocationChanged(fn: (doc: IPublicModelDocumentModel) => void): IPublicTypeDisposable;@since v1.1.0