-
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
- feat: 新增
-
behavior changed: remove
speed
property fromVertexComponent
.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: 新增
-
feat: adding
PauseDecorator
, make the graph stop updating.- feat: 新增
PauseDecorator
,使图的节点停止位置更新。
- feat: 新增
-
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 toVertexComponent
to indicate whether the vertex is being dragged.
- fix: the crash issue when force is not a number [ForceMotionDecorator].
-
feat:
EdgeLineShape
can append decorators.- feat: 使
EdgeLineShape
可以追加装饰器。
Options() ..edgeShape = EdgeLineShape( decorators: [ DefaultEdgeDecorator(), ], )
- feat: 使
-
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.
-
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, // ), // ), ); }
- fix usage of both Scale and Pan on mobile platforms. ( #12, via: Mykyta Sadchenko)
- feat: support zooming through gestures.
- feat: add interface to
GraphComponent
: addVertex, addEdge, mergeGraph - feat: add implementation of PersistenceDecorator to store position of vertex. (#10 #11, via: jersonal-com)
- interface change: add a graph parameter to
DataConvertor.convertGraph
接口变更:为 convertGraph 添加一个graph参数
- fix: prevent the addition of duplicate data.
- fix: vertex text style
background
not working.
- feat: support specifying vertex text style.
- feat add a choice to HookeBorderDecorator, to control the border of the graph.
- fix: make CoulombCenterDecorator a usable decorator.
- feat: add a decorator for the anti Coulomb force rule.
- feat: make opacity configurable for vertex and edge.
options.hoverOpacity
- perf: adjusting the parameters of the decorators.
- feat: add a series of decorators to the GraphAlgorithm.
- Changed the parameter of the
GraphAlgorithm
constructor from [decorator] to {decorators}
- 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.
- fix: graph crash, when there is no panelBuilder.
- feat: synchronously update panel positions, when dragging nodes.
- feat: add method: displayName to VertexComponent. Used textGetter.
- fix: edge panel display issue. Make overlay name unique.
- fix: increase the mouse touch area on the edge.
- fix: graph crash, when there is no panelBuilder.
- 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.
- feat: add property of
size
to Vertex.
- feat: add textGetter to vertex
- feat: add onGraphLoad callback in graph_algorithm
- feat: add CircleLayout for graph
- enhance: set edge color by vertex color
- feat: Added option to 'Enable collision detection'(
enableHit
), default tofalse
- 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
- vertexPanelBuilder and edgePanelBuilder access another param:
Viewfinder
useViewfinder
to convert the position of the component to the global position, such as:viewfinder.localToGlobal( cpnPosition );
-
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
- feat: support multi line between two vertexes.
- enhance: optimized edge experience.
- feat: create random color for tag.
- feat: add legend in graph.
- 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).
- feat: supported customize vertex ui.
- feat: supported customize edge ui.
- Data panel embedding. ( For edge )
- Fixed: components overflow game window.
- Fixed:
Options.vertexPanelBuilder
nullable as expected.
- Keep children vertexes around the parent vertex.
- Data panel embedding.
- Support zoom in and zoom out.
- Support global drag and vertex drag.
- Support custom reposition collision callbacks.
- Provide placement scheme of random positions in the circle with collision detection.
- Integrated game engine to do data display. ( nodes | relationships )
- Provided layout algorithm interface.
- Provided data convertor interface.