# 迁移指南

# 从0.x 升级到1.0

# 主题

logicflow采用的新的主题定义方式,支持直接将自定义的所有svg属性透传到节点上,相比原来的主题方式,提供了更完善的自定义配置。 原来的outlineHover, edgeAdjust等改成新的主题方式,详细使用方式见主题 API

# 自定义节点和边

  • 我们规范了自定义的方式,现在主题相关样式属性获取改成在自定义view中用model.getNodeStyle()或者model.getEdgeStyle()方法获取,不支持在view中通过getAttributes()获取。
  • 自定义样式相关属性我们要求在model中重写获取样式相关的方法。如getNodeStyle, getEdgeStyle
  • 我们明确了属性的分类,对于宽、高这类影响连线计算的属性,我们定义为形状属性, 形状属性只允许在setAttributes中定义。

# lf实例API

  • getNodeModel -> getNodeModelById
  • getNodeData -> getNodeDataById
  • getEdge -> getEdgeModelById
  • changeNodeId在找不到id的时候,返回的是空字符串而不是false
  • getEdgeModels参数不支持传入id, 基于Id获取edgeModel请使用getEdgeModelById
  • select -> selectElementById
  • eventCenter -> graphModel.eventCenter
  • removeEdge -> deleteEdgeByNodeId

# graphModel

  • getNodeModel.transformMatrix -> getNodeModel.transformModel
  • getNodeModel.setTextEditable() -> getNodeModel.editText()
  • getNodeModel.editConfig -> getNodeModel.editConfigModel
  • graphModel.setElementTextById() -> graphModel.updateText()
  • graphModel.removeEdgeById() -> graphModel.deleteEdgeById()
  • graphModel.removeEdgeBySource() -> graphModel.deleteEdgeBySource()
  • graphModel.removeEdgeByTarget() -> graphModel.deleteEdgeByTarget()

# 从1.0 升级到1.1

# 插件写法规范

1.1版本对插件进行了规范,现在要求所有的插件必须使用class的方式实现。然后插件的方法可以通过lf.extension.插件名称.插件方法来调用。原来的lf.插件方法仍然可用,后续版本将废弃。

# MiniMap插件

  • MiniMap.show() -> lf.extension.miniMap.show()
  • MiniMap.hide() -> lf.extension.miniMap.hide()