Skip to content

Editor 完整签名索引 ​

本页从当前公开Editor源码提取全部非私有成员,包含参数、默认值及返回类型,共119项。它是签名索引;构造参数和行为说明请从Editor总览进入相应专题。

TContainer表示渲染适配器的宿主容器类型;Leafer浏览器接入通常为HTMLElement。表中的类型名称来自Editor或Core公开协议,不要求应用为查询签名导入内部文件。

成员当前签名说明
enginereadonly engine: SkyNoteEngine底层引擎,供插件装配与高级扩展使用;界面优先使用Editor门面。
textEditorreadonly textEditor = new TextEditPlugin()画布文字编辑插件,用于查询编辑状态和设置文字选区样式。
constructorconstructor(options: SkyNoteEditorOptions<TContainer>)创建Editor,装配引擎、基础插件及宿主提供的渲染适配器。
isMountedget isMounted(): boolean查询当前是否已挂载到宿主容器。
mountmount(container: TContainer): void挂载到已有尺寸的容器;已挂载时先卸载原容器。
unmountunmount(): void卸载渲染器,保留引擎与文档,可再次挂载。
destroydestroy(): void卸载渲染器并销毁引擎、插件和订阅,结束实例生命周期。
getImageLoadStategetImageLoadState(nodeId: string): ImageLoadState | undefined查询图片节点的加载状态;无对应状态时返回undefined。
retryImagesretryImages(nodeIds: readonly string[]): readonly string[]重试指定图片的加载,返回接受重试的节点ID。
onImageLoadChangeonImageLoadChange(listener: () => void): () => void订阅图片加载状态变化,返回取消订阅函数。
documentEpochget documentEpoch(): number查询当前文档世代标识,供异步任务识别文档切换。
getHistorySnapshotgetHistorySnapshot(): CanvasHistorySnapshot获取当前撤销与重做历史快照。
beginMaintenancebeginMaintenance(): { readonly drained: Promise<void>; resume(): void }暂停事务和历史操作;等待drained后维护,完成后调用resume恢复。
onAssetTaskEventonAssetTaskEvent(listener: (event: AssetTaskEvent) => void): () => void订阅资产任务事件,返回取消订阅函数。
onSelectionChangeonSelectionChange(listener: () => void): () => void订阅节点或连线选区变化,返回取消订阅函数。
onToolChangeonToolChange(listener: () => void): () => void订阅当前画布工具变化,返回取消订阅函数。
onConnectorDropOnBlankonConnectorDropOnBlank(listener: (e: ConnectorDropEvent) => void): () => void订阅连线自由端落在空白处的事件,可配合connectNewNode创建节点。
onViewportChangeonViewportChange(listener: () => void): () => void订阅视口平移与缩放变化,返回取消订阅函数。
onDocumentChangeonDocumentChange(listener: (changes: DocumentChangeSet) => void): () => void订阅按实体归类的文档增量变更,返回取消订阅函数。
registerCursorregisterCursor(definition: CursorDefinition): () => void注册或覆盖画布光标,返回注销或恢复原定义的函数。
setCursorStylesetCursorStyle(style: Partial<CursorStyle>): void统一更新内置与插件光标的配色样式。
registerInputScoperegisterInputScope(scope: InputScope): () => void注册键盘输入作用域,参与焦点与优先级分发,返回注销函数。
onCommitonCommit(listener: (patches: readonly CanvasPatch[], record: CanvasOperationRecord) => void): () => void订阅每次提交的正向补丁和事务记录,含撤销、重做与导入。
onHistoryChangeonHistoryChange(listener: HistoryChangeListener): () => void订阅撤销与重做历史状态变化,返回取消订阅函数。
viewportget viewport(): Readonly<ViewportState>读取当前视口的平移和缩放状态。
viewportCenterget viewportCenter(): Point读取视口中心对应的世界坐标。
viewportSizeget viewportSize(): { width: number; height: number }读取视口的像素宽高。
screenToWorldscreenToWorld(point: Point): Point将画布容器内的屏幕坐标转换为世界坐标。
worldToScreenworldToScreen(point: Point): Point将世界坐标转换为画布容器内的屏幕坐标。
zoomAtzoomAt(factor: number, center?: Point): void以指定屏幕点为中心按倍数缩放,默认使用视口中心。
applyInitialViewapplyInitialView(mode: InitialViewMode = this.initialView, viewport?: Partial<ViewportState>): void应用文档打开策略;preserve模式可传入宿主保存的视口。
fitContentfitContent(): void调整视口以容纳全部内容;内容较少时不超过原始尺寸。
fitEntitiesfitEntities(refs: EntityRefs): void调整视口以容纳指定节点和连线;目标均不存在时保持原视口。
canExportPngget canExportPng(): boolean查询渲染适配器是否支持PNG导出。
revealEntitiesrevealEntities( refs: EntityRefs, options: { center?: boolean; padding?: number; insets?: Partial<{ left: number; right: number; top: number; bottom: number }>; } = {} ): void保持缩放并平移以显示目标,可指定居中、留白及宿主面板占用区域。
previewEntitiespreviewEntities(refs: EntityRefs): () => void显示独立于选区的临时预览框,返回释放函数。
getPngExportInfogetPngExportInfo(options: { scope?: 'content' | 'selection'; scale?: number } = {}): { bounds: RectBounds; width: number; height: number; }计算PNG导出的范围和像素尺寸;范围或预算无效时抛出异常。
exportPngasync exportPng( options: { scope?: 'content' | 'selection'; scale?: number; background?: 'transparent' | 'canvas'; signal?: AbortSignal; } = {} ): Promise<CanvasExportResult>异步导出内容或选区为PNG,支持取消;不改变视口、选区或历史。
themeget theme(): CanvasTheme读取当前解析后的画布主题。
setThemesetTheme(config: CanvasThemeConfig): void通过种子色与可选覆盖值更新画布主题。
resolveColorresolveColor(colorOrToken: string): string将调色板或主题颜色令牌解析为色值,无法解析时原样返回。
toolget tool(): CanvasTool读取当前画布工具。
connectorToolTypeget connectorToolType(): ConnectorLineType读取连线工具当前采用的线型。
startConnectorToolstartConnectorTool(connectorType: ConnectorLineType = this.connectorToolType): void进入指定线型的连线绘制工具,完成绘制后回到选择工具。
stopToolstopTool(): void取消当前工具操作并回到选择工具。
isReadOnlyget isReadOnly(): boolean查询是否处于只读浏览模式。
setReadOnlysetReadOnly(readOnly: boolean): void切换只读浏览模式,进入只读时清空选区并限制编辑交互。
onReadOnlyChangeonReadOnlyChange(listener: (isReadOnly: boolean) => void): () => void订阅只读状态变化,返回取消订阅函数。
selectedNodeIdsget selectedNodeIds(): ReadonlySet<string>读取当前直接选中的节点ID集合。
selectedConnectorIdsget selectedConnectorIds(): ReadonlySet<string>读取当前选中的连线ID集合。
selectselect(nodeIds: readonly string[], connectorIds: readonly string[] = []): void用指定节点和连线替换原选区,按可见性等选择规则过滤。
selectedSubtreeNodeIdsget selectedSubtreeNodeIds(): ReadonlySet<string>读取当前以整体子树语义选中的根节点ID集合。
selectSubtreeselectSubtree(rootId: string): void按布局公开的整体语义选择子树,文档操作仍以根节点为入口。
selectAllselectAll(): void选中根层级节点与连线,容器后代随容器参与操作。
nodeCountget nodeCount(): number查询文档中的节点总数。
isNodeVisibleisNodeVisible(id: string): boolean查询节点在当前布局折叠状态下是否可见。
isConnectorVisibleisConnectorVisible(id: string): boolean查询连线是否可见;绑定端点隐藏时连线也隐藏。
getNodeBoundsgetNodeBounds(id: string): RectBounds | undefined查询节点可见的世界外框,隐藏或不存在时返回undefined。
onLayoutChangeonLayoutChange(listener: () => void): () => void订阅布局能力或可见性变化,返回取消订阅函数。
getNodegetNode(id: string): Readonly<NodeEntity> | undefined按ID读取节点,不存在时返回undefined。
getNodesgetNodes(): readonly Readonly<NodeEntity>[]全量读取节点,适合低频查询;持续观察优先消费文档增量。
getConnectorsgetConnectors(): readonly Readonly<ConnectorEntity>[]全量读取文档中的连线。
getNodeTypeLabelgetNodeTypeLabel(nodeType: string): string获取节点类型的展示名称。
getChildIdsgetChildIds(parentId?: string): string[]读取容器的直接子节点ID;省略parentId时查询根层级。
nodeAtnodeAt(point: Point): Readonly<NodeEntity> | undefined命中世界坐标处最上层的节点,按实际轮廓与框外装饰判断。
connectorAtconnectorAt(point: Point): Readonly<ConnectorEntity> | undefined命中世界坐标处的连线,命中容差按屏幕像素计算。
getConnectorgetConnector(id: string): Readonly<ConnectorEntity> | undefined按ID读取连线,不存在时返回undefined。
dispatchContextMenudispatchContextMenu(point: Point): boolean先向插件分发右键操作;返回true时宿主不再弹出菜单。
getConnectorStylegetConnectorStyle(id: string): ConnectorStyle | undefined读取连线默认样式与自身样式合并后的生效样式。
getEntitiesBoundsgetEntitiesBounds(refs: EntityRefs): RectBounds | undefined计算节点与连线的整体世界外框,包含旋转、装饰和真实路由。
getNodeStylegetNodeStyle(id: string): NodeStyle | undefined读取节点类型默认样式与自身样式合并后的生效样式。
isAspectLockedisAspectLocked(id: string): boolean查询节点当前是否锁定宽高比,优先使用节点显式设置。
getNodeResizeAxesgetNodeResizeAxes(id: string): NodeResizeAxes查询节点允许手动调整尺寸的轴。
supportsCornerRadiussupportsCornerRadius(id: string): boolean查询节点是否支持圆角设置。
canFitContentcanFitContent(id: string): boolean查询节点是否支持尺寸适应内容。
createNodecreateNode<T extends string>(request: CreateNodeRequest<T>): string | null按父容器内左上角坐标创建节点,不改变选区;失败返回null。
insertNodeAtViewportCenterinsertNodeAtViewportCenter(request: ViewportInsertRequest): string | null在视口中心插入并选中新节点,一步撤销;失败返回null。
insertNodeAtinsertNodeAt(request: ViewportInsertRequest, point: Point): string | null以指定世界坐标为中心插入并选中新节点;失败返回null。
insertImageinsertImage(file: unknown, point: Point): Promise<AssetTaskResult<string>>上传并插入图片,异步返回成功、取消或失败的资产任务结果。
replaceImagereplaceImage(nodeIds: readonly string[], file: unknown): Promise<AssetTaskResult<readonly string[]>>替换图片节点的资产引用,保留几何与样式,返回资产任务结果。
duplicateEntitiesduplicateEntities(refs: EntityRefs, offset: Point = { x: 20, y: 20 }): EntityIds复制节点、后代及相关连线,偏移并选中副本,一步撤销。
deleteEntitiesdeleteEntities(refs: EntityRefs, label?: string): void删除指定实体,节点级联删除后代与依附连线,一步撤销。
updateNodesupdateNodes( nodeIds: readonly string[], fields: Partial<NodeEntity> | ((node: Readonly<NodeEntity>) => Partial<NodeEntity>), options?: UpdateOptions ): void批量写入节点字段;style和data默认按字段合并,可显式整体替换。
updateNodeStyleupdateNodeStyle(nodeIds: readonly string[], style: Partial<NodeStyle>, options?: EditOptions): void合并更新节点样式,同一groupId的连续调整可合并历史。
setNodeRadiussetNodeRadius(nodeIds: readonly string[], radius: number, options?: EditOptions & { corner?: RadiusCorner }): void设置全部或指定角的圆角;指定单角时保留其余角。
setLockedsetLocked(refs: EntityRefs, locked: boolean): void锁定或解锁节点与连线,一步撤销。
setAspectLockedsetAspectLocked(nodeIds: readonly string[], locked: boolean): void设置节点是否锁定宽高比。
moveNodeLayersmoveNodeLayers(nodeIds: readonly string[], move: LayerMove): void上移、下移、置顶或置底指定节点。
getNodeArrangementInfogetNodeArrangementInfo(nodeIds: readonly string[]): NodeArrangementInfo查询节点排列条件,供对齐、分布等操作入口判断。
alignNodesalignNodes(nodeIds: readonly string[], alignment: NodeAlignment): void按世界外框对齐节点;锁定或受自动布局控制时整体不执行。
distributeNodesdistributeNodes(nodeIds: readonly string[], axis: NodeDistributionAxis): void固定两端并均分节点边缘间距,需要至少三个独立节点。
autoArrangeNodesautoArrangeNodes(nodeIds: readonly string[], options?: NodeAutoArrangeOptions): void将节点一次整理为网格,保持尺寸、朝向与父子关系。
fitNodesContentfitNodesContent(nodeIds: readonly string[]): void让支持该能力的节点尺寸适应内容,跳过不支持或已适应的节点。
canGroupNodescanGroupNodes(nodeIds: readonly string[]): boolean判断节点集合是否满足创建组合的条件。
canUngroupNodescanUngroupNodes(nodeIds: readonly string[]): boolean判断是否存在可解散的组合或含子节点的容器外壳。
groupNodesgroupNodes(nodeIds: readonly string[]): string | null创建组合并选中新组合,返回组合ID;失败返回null。
ungroupNodesungroupNodes(nodeIds: readonly string[]): string[]解散组合或容器外壳,选中释放的子节点并返回其ID。
setFrameAutoLayoutsetFrameAutoLayout( frameIds: readonly string[], options: (Partial<Omit<StackLayoutOptions, 'padding'>> & { padding?: StackPaddingInput }) | null, editOptions?: EditOptions ): void开启或更新画框的自动堆叠布局,传null关闭,一步撤销。
restoreImageSizerestoreImageSize(nodeIds: readonly string[]): void将图片恢复为资产记录的固有尺寸,缺少元数据时跳过。
restoreImageRatiorestoreImageRatio(nodeIds: readonly string[]): void保持图片当前宽度,按资产固有宽高比恢复高度。
updateConnectorStyleupdateConnectorStyle(connectorIds: readonly string[], style: Partial<ConnectorStyle>, options?: EditOptions): void合并更新连线样式,后续新画连线沿用该设置。
setConnectorTypesetConnectorType(connectorIds: readonly string[], connectorType: ConnectorLineType): void切换线型并清除手动拐点,后续新画连线沿用该线型。
connectNewNodeconnectNewNode(connectorId: string, request: ConnectNodeRequest): string | null在连线自由端创建并连接新节点,选中新节点;无自由端时返回null。
resetConnectorRouteresetConnectorRoute(connectorIds: readonly string[]): void清除连线手动拐点,恢复自动路由。
setNodeSizesetNodeSize(nodeIds: readonly string[], size: { width?: number; height?: number }, options?: EditOptions): void保持左上角设置节点宽高,按节点的比例锁定状态联动。
setNodeRotationsetNodeRotation(nodeIds: readonly string[], rotation: number, options?: EditOptions): void设置节点绕自身中心的旋转角度,规整到0至360度。
endGeometryEditendGeometryEdit(groupId?: string): void结束本次数值编辑并释放几何快照;指定分组避免结束其他面板编辑。
rotateNodesByrotateNodesBy(nodeIds: readonly string[], degrees: number, options?: EditOptions): void让节点围绕整体选区中心增量旋转指定角度。
documentNameget documentName(): string读取文档名称,不创建完整文档副本。
exportDocumentexportDocument(): CanvasDocument获取当前文档的完整副本,可进行JSON序列化。
prepareDocumentImportprepareDocumentImport(value: unknown): ParseResult<DocumentAssetInspection>预检外部文档的结构与资产问题,不修改当前文档。
importDocumentimportDocument(value: unknown, options?: { allowAssetIssues?: boolean; label?: string }): ParseResult<void>校验后以一步可撤销事务替换文档,返回解析结果。
restoreDocumentrestoreDocument(doc: CanvasDocument, options?: DocumentRestoreOptions): ParseResult<void>恢复已校验的文档,不入撤销栈并清空历史;选项可指定打开视口策略。
restoreRecoveryrestoreRecovery(document: unknown, history: unknown, options?: DocumentRestoreOptions): ParseResult<void>恢复包含文档与历史的完整检查点,返回解析结果。
canUndoget canUndo(): boolean查询当前是否可以撤销。
canRedoget canRedo(): boolean查询当前是否可以重做。
undoundo(): boolean撤销上一步操作,返回是否执行成功。
redoredo(): boolean重做下一步操作,返回是否执行成功。
clearHistoryclearHistory(): void清空撤销与重做历史。

按任务查阅 ​

源码中的公开成员不代表每个宿主都提供相应按钮。返回可取消异步结果的接口、渲染器能力和业务确认步骤仍需由宿主处理。此索引不表示npm产物已完成安装验收。

可组合的画布能力,从一个想法开始。