# 从0.7升级到1.0

# 主题

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

# 自定义节点和边

  • 我们规范了自定义的方式,现在主题相关样式属性获取改成在自定义view中用model.getNodeStyle()或者model.getEdgeStyle()方法获取,不支持在view中通过getAttributes()获取。
  • 自定义样式相关属性我们要求在model中重写获取样式相关的方法。如getNodeStyle, getEdgeStyle
  • 自定义html节点内置了shouldUpdate判断,只有节点的properties的发生了变化,才会触发setHtml方法。
  • 我们明确了属性的分类,对于宽、高这类影响连线计算的属性,我们定义为形状属性, 形状属性只允许在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()