flutter_graph_view 2.0.2+1 copy "flutter_graph_view: ^2.0.2+1" to clipboard
flutter_graph_view: ^2.0.2+1 copied to clipboard

Widgets for beautiful graphic data structures, such as force-oriented diagrams.

2.0.2+1 #

  • fix: the issue of incorrect rendering when calling setState from the outside

    修复从外部setState时无法正常渲染的问题

  • fix: the issue where the data panel is still initialized even if the vertex is not tapUp

    修复当节点未点击,但数据面板依然被初始化的问题

2.0.2 #

  • feat: in the VertexShape, add new callback functions onLoad, onDrag, onPointerUp, and onPointerDown.

    在实现VertexShape时,增加onLoadonDragonPointerUponPointerDown回调以实现个性化的事件响应。

  • fix: the text wrapping issue in VertexTextRendererImpl

    修复 VertexTextRendererImpl 段落长度与实际文本长度不符导致换行的问题。

2.0.1 #

  • deprecated: DreatheDecorator

    废弃节点上下浮动的呼吸特效

  • feat: Ensure that the graph object is not null and supports external specification.

    确保 graph 对象不为空,且支持从外部指定

2.0.0 #

  • perf: remove duplicate method calls.

    针对 ForceDecorator 的子类,移除super.compute避免重复执行

  • refac: replace flame with canvas

    使用原生画布来替代 flame

Warning(注意事项) #

Due to the destructive changes made to most APIs that are incompatible with 1.x, please upgrade from 1.x with caution. However, if there are performance issues due to excessive data volume in the project, please do not hesitate to upgrade to 2.x, even if it requires a certain amount of work.

由于多数 API 产生了破坏性的改动,与 1.x 不兼容,请谨慎从 1.x 中升级,但如果项目中因数据量过大,遇到了性能问题,请毫不犹豫升级到 2.x,即使需要一定工作量。


1.2.1 #

  • feat: add a decorator for counting

    新增一个计数用的装饰器

  • fix: the issue of font and size not displaying properly.

    修复字体跟字号无法正常显示的问题

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时。

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.

1.1.2 #

  • 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,
                //   ),
                // ),
            );
        }
    

1.1.1 #

  • fix usage of both Scale and Pan on mobile platforms. ( #12, via: Mykyta Sadchenko)
  • feat: support zooming through gestures.

1.1.0 #

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

Behavior change: #

  • interface change: add a graph parameter to DataConvertor.convertGraph

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

1.0.4+2 #

  • fix: prevent the addition of duplicate data.

1.0.4+1 #

  • fix: vertex text style background not working.

1.0.4 #

  • feat: support specifying vertex text style.

1.0.3 #

  • feat add a choice to HookeBorderDecorator, to control the border of the graph.
  • fix: make CoulombCenterDecorator a usable decorator.

1.0.2 #

  • feat: add a decorator for the anti Coulomb force rule.

1.0.1 #

  • feat: make opacity configurable for vertex and edge. options.hoverOpacity
  • perf: adjusting the parameters of the decorators.

1.0.0 #

  • feat: add a series of decorators to the GraphAlgorithm.

Behavior change: #

  • Changed the parameter of the GraphAlgorithm constructor from [decorator] to {decorators}

0.3.0 #

  • perf: use panelDelay in the options to control the delay time of the display panel.
  • fix: hover testing of edges, multiple edges and self loops
  • fix: edge overlap, when there are even numbers of edges between two points
  • fix: let the self loop follow the scaling law.
  • feat: self loop support
  • refac: adjusting the file structure of the VertexTextRenderer interface
  • fix: graph crash, when there is no panelBuilder.

0.2.4+1 #

  • fix: graph crash, when there is no panelBuilder.

0.2.4 #

  • feat: synchronously update panel positions, when dragging nodes.

0.2.3 #

  • feat: add method: displayName to VertexComponent. Used textGetter.

0.2.2+2 #

  • fix: edge panel display issue. Make overlay name unique.
  • fix: increase the mouse touch area on the edge.

0.2.2+1 #

  • fix: graph crash, when there is no panelBuilder.

0.2.2 #

  • fix: #6
    • change the loading timing of the panel to be at the same time as vertex/edge components loading.
    • change the panel to correspond one-to-one with the components.
  • feat: add 'panelDelay' to options to control the delay time hidden in the panel.

0.2.1 #

  • feat: add property of size to Vertex.

0.2.0 #

  • feat: add textGetter to vertex
  • feat: add onGraphLoad callback in graph_algorithm
  • feat: add CircleLayout for graph
  • enhance: set edge color by vertex color

0.1.0 #

  • feat: Added option to 'Enable collision detection'(enableHit), default to false
  • feat: Added option to 'scaleRange', default to [0.05, 5.0]
  • feat: Display vertex title, default to vertex.id
  • refact: refact the interactive logic of drag and zoom by viewfinder

Dev change: #

  • vertexPanelBuilder and edgePanelBuilder access another param: Viewfinder use Viewfinder to convert the position of the component to the global position, such as:
        viewfinder.localToGlobal( cpnPosition );
    

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

0.0.1+10 #

  • feat: support multi line between two vertexes.
  • enhance: optimized edge experience.
    • hover height 1->3
    • edge highlight when component hovered. image

0.0.1+9 #

  • feat: create random color for tag.
  • feat: add legend in graph.

0.0.1+8 #

  • 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).

0.0.1+7 #

  • feat: supported customize vertex ui.
  • feat: supported customize edge ui.

0.0.1+6 #

  • Data panel embedding. ( For edge )
  • Fixed: components overflow game window.
  • Fixed: Options.vertexPanelBuilder nullable as expected.

0.0.1+5 #

  • Keep children vertexes around the parent vertex.
  • Data panel embedding.

0.0.1+4 #

  • Support zoom in and zoom out.
  • Support global drag and vertex drag.
  • Support custom reposition collision callbacks.

0.0.1+3 #

  • Provide placement scheme of random positions in the circle with collision detection.

0.0.1+2 #

  • Integrated game engine to do data display. ( nodes | relationships )
  • Provided layout algorithm interface.
  • Provided data convertor interface.
84
likes
150
points
1.21k
downloads

Publisher

verified publisherdudu.ltd

Weekly Downloads

Widgets for beautiful graphic data structures, such as force-oriented diagrams.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

flutter, vector_math

More

Packages that depend on flutter_graph_view