Skip to content

Releases: graph-cn/flutter_graph_view

v1.2.0

13 Jun 17:47
Compare
Choose a tag to compare

1.2.0

  • feat: add stopDrag to FlutterGraphWidget to control the drag behavior of the graph view.

    支持通过 FlutterGraphWidget.stopDrag = false; 停止视窗拖拽。

  • fix[#27]: the issue does not work properly in version 1.29.0.

    在 1.29.0 版本中无法正常工作的问题

Behavior change:

  • Upgrade flame to 1.29.0, so the gameRef in VertexComponent should be replaced with game, when using vertex.cpn?.gameRef.

    升级 flame 到 1.29.0 版本,所以 VertexComponent 中的 gameRef 应该替换为 game,用到 vertex.cpn?.gameRef时。

更多未发布在GitHub的变更日志(More change logs not published on GitHub)

1.1.6

  • feat: 为 edge 新增 SolidArrowEdgeDecorator 实心箭头装饰器

    support SolidArrowEdgeDecorator for edge

1.1.5

  • feat: Support controlling the game pause or play through the options.pause.

    支持通过 options.pause 控制游戏暂停或播放。

  • feat: Support specifying node components through options.vertexComponentNew

    支持通过 options.vertexComponentNew 指定节点组件。

1.1.4+1

  • fix: the issue of edge overlap when the edgeName is different but same src, dst and edgeId.

1.1.4

  • feat: add interface to GraphAlgorithm: afterDrag, beforeMerge and etc.

  • feat: add LegendDecorator to support the legend of the graph, to control the vertex and edge display. And fix the scroll issue of the legend panel.

    • feat: 新增 LegendDecorator,支持图的图例,控制节点和边的显示。并修复图例面板的滚动问题。
      example:
    // First add LegendDecorator to your decorators, 
    // then set the legend options.
    options
        ..useLegend = false
  • behavior changed: remove speed property from VertexComponent.

    What will be effective is that all the vertex.position will be set to the vertex.cpn.position directly, when decorating the vertex in GraphAlgorithm and sub-classes.

  • behavior changed: set the radius of vertex to a private variable

  • feat: adding GraphRouteDecorator, make the data like a brower history.

    • feat: 新增 GraphRouteDecorator,使数据像浏览器历史一样,支持前进后退,当有合并行为发生时。
  • feat: adding PauseDecorator, make the graph stop updating.

    • feat: 新增 PauseDecorator,使图的节点停止位置更新。
  • feat: adding control panels of decorators.
    example:

      /// 指定装饰器参数的控制面板创建方法
      CoulombReverseDecorator(
        handleOverlay: kCoulombReserseOverlayBuilder(),
      ),
  • feat: enable configuring the force factor between brother vertexs.
    example:

    /// @en: Make the repulsion between similar points smaller
    /// 
    /// @zh: 使相似点之间的排斥力变小
    CoulombReverseDecorator(sameSrcAndDstFactor: 1.1), 
  • fix: the line added later covers the previous point.

  • feat: support image vertex.

  • feat: using tag similarity as a layout element.
    example:

    /// @en: Make the repulsion between similar tags smaller
    /// 
    /// @zh: 使相似标签之间的排斥力变小
    CoulombReverseDecorator(sameTagsFactor: 0.8), 
  • feat: add dragged property to VertexComponent to indicate whether the vertex is being dragged.

1.1.3+1

  • fix: the crash issue when force is not a number [ForceMotionDecorator].

1.1.3

  • feat: EdgeLineShape can append decorators.

    • feat: 使 EdgeLineShape 可以追加装饰器。
        Options()
            ..edgeShape = EdgeLineShape(
                decorators: [
                    DefaultEdgeDecorator(),
                ],
            )
  • fix: the edge overlap problem of multiple edge graphs with two identical nodes.

  • fix: Edge with the same parameters except for different edge type is misdiagnosed as the same edge.

  • fix: correct the position of the two points of the edge.

    • fix: 修正边的两个点的位置。
  • fix: the overlap issue of the data panel.

Full Changelog: v1.1.2...v1.2.0

v1.1.2

16 Sep 17:23
Compare
Choose a tag to compare
  • feat: support specifying legends and legend text build.

    example

    Options()
        ..legendBuilder = (color, i) { // default
            return RectangleComponent.fromRect(
                Rect.fromLTWH(40, 50.0 + 30 * i, 30, 18),
                paint: Paint()..color = color,
            );
        }
        ..legendTextBuilder = (tag, i, color, position) { // default
            return TextComponent(
                text: tag,
                position: Vector2(position.x + 40, position.y - 6),
                // position: Vector2(position.x + 40, position.y - 2),
                // textRenderer: TextPaint(
                //   style: TextStyle(
                //     fontSize: 17.0,
                //     color: Colors.white,
                //   ),
                // ),
            );
        }

Full Changelog: v1.1.1...v1.1.2

v1.1.1

26 Jul 23:05
Compare
Choose a tag to compare

What's Changed

Features

  • feat: make opacity configurable for vertex and edge. options.hoverOpacity
  • perf: adjusting the parameters of the decorators.
  • feat: add a decorator for the anti Coulomb force rule.
  • feat add a choice to HookeBorderDecorator, to control the border of the graph.
  • feat: support specifying vertex text style.
  • interface change: add a graph parameter to DataConvertor.convertGraph

    接口变更:为 convertGraph 添加一个graph参数

  • feat: add interface to GraphComponent: addVertex, addEdge, mergeGraph
  • feat: add implementation of PersistenceDecorator to store position of vertex. (#10 #11, via: @jersonal-com )
  • feat: support zooming through gestures.

Bugfix

  • fix: make CoulombCenterDecorator a usable decorator.
  • fix: vertex text style background not working.
  • fix: prevent the addition of duplicate data.
  • fix usage of both Scale and Pan on mobile platforms. ( #12, via: @muknta )

New Contributors

Full Changelog: v1.0.0...v1.1.1

v1.0.0

01 Apr 21:23
Compare
Choose a tag to compare

Full Changelog: v0.3.0...v1.0.0

v0.3.0

31 Mar 06:17
Compare
Choose a tag to compare

Full Changelog: v0.2.2+1...v0.3.0

v0.2.2+1

27 Mar 07:06
Compare
Choose a tag to compare

Full Changelog: v0.0.2...v0.2.2+1

v0.0.2

05 Apr 13:33
Compare
Choose a tag to compare

0.0.2

  • feat: enable decorator for vertex.

    • Remove the breath effect. To use the breath effect, please pass in BreatheDecorator() when creating the GraphAlgorithm object, such as:
    FlutterGraphWidget(
        ...
        algorithm: ForceDirected(BreatheDecorator()),
        ...
    )
  • feat: adding custom properties to vertex components helps the algorithm create more effects.

  • dependency: upgrade flame from 1.6.0 to 1.7.0


  • 特性:启用节点操作算法装饰器,可以多个操作算法以装饰模式的方式进行复合
    • 移除原有的呼吸特效,如需保持原有的呼吸特性,可以在创建 FlutterGraphWidget 时,使用如下写法:
    FlutterGraphWidget(
        ...
        algorithm: ForceDirected(BreatheDecorator()),
        ...
    )
    
  • 特性:为节点组件追加可以自定义的属性,帮助算法实现更多特效
  • 依赖:升级flame版本至 1.7.0

v0.0.1+10

08 Feb 06:44
Compare
Choose a tag to compare
  • feat: support multi line between two vertexes.
  • enhance: optimized edge experience.
    • hover height 1->3
    • edge highlight when component hovered.
      image

v0.0.1+9

01 Feb 21:01
Compare
Choose a tag to compare
  • feat: create random color for tag.
  • feat: add legend in graph.
    image

v0.0.1+8

30 Jan 00:13
Compare
Choose a tag to compare
  • feat(convert): cache the edge names and vertex tags in graph.
  • feat: support customize background.
  • feat(options style): support assigning colors to vertexes through tags (name or index).