Skip to content

Commit fe15737

Browse files
committed
v0.2.2+1 fix: graph crash, when there is no panelBuilder.
1 parent b0eb074 commit fe15737

File tree

6 files changed

+38
-71
lines changed

6 files changed

+38
-71
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.2.2+1
2+
- fix: graph crash, when there is no panelBuilder.
3+
14
## 0.2.2
25
- fix: [#6](https://github.com/graph-cn/flutter_graph_view/issues/6)
36
- change the loading timing of the panel to be at the same time as vertex/edge components loading.

example/pubspec.lock

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ packages:
7676
path: ".."
7777
relative: true
7878
source: path
79-
version: "0.2.1"
79+
version: "0.2.2"
8080
flutter_lints:
8181
dependency: "direct dev"
8282
description:
@@ -90,22 +90,6 @@ packages:
9090
description: flutter
9191
source: sdk
9292
version: "0.0.0"
93-
leak_tracker:
94-
dependency: transitive
95-
description:
96-
name: leak_tracker
97-
sha256: "04be76c4a4bb50f14904e64749237e541e7c7bcf7ec0b196907322ab5d2fc739"
98-
url: "https://pub.dev"
99-
source: hosted
100-
version: "9.0.16"
101-
leak_tracker_testing:
102-
dependency: transitive
103-
description:
104-
name: leak_tracker_testing
105-
sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff
106-
url: "https://pub.dev"
107-
source: hosted
108-
version: "1.0.5"
10993
lints:
11094
dependency: transitive
11195
description:
@@ -126,18 +110,18 @@ packages:
126110
dependency: transitive
127111
description:
128112
name: material_color_utilities
129-
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
113+
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
130114
url: "https://pub.dev"
131115
source: hosted
132-
version: "0.8.0"
116+
version: "0.5.0"
133117
meta:
134118
dependency: transitive
135119
description:
136120
name: meta
137-
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
121+
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
138122
url: "https://pub.dev"
139123
source: hosted
140-
version: "1.11.0"
124+
version: "1.10.0"
141125
ordered_set:
142126
dependency: transitive
143127
description:
@@ -215,14 +199,6 @@ packages:
215199
url: "https://pub.dev"
216200
source: hosted
217201
version: "2.1.4"
218-
vm_service:
219-
dependency: transitive
220-
description:
221-
name: vm_service
222-
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
223-
url: "https://pub.dev"
224-
source: hosted
225-
version: "13.0.0"
226202
web:
227203
dependency: transitive
228204
description:

examples/execution_plan/pubspec.lock

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ packages:
7676
path: "../.."
7777
relative: true
7878
source: path
79-
version: "0.2.1"
79+
version: "0.2.2"
8080
flutter_lints:
8181
dependency: "direct dev"
8282
description:
@@ -90,22 +90,6 @@ packages:
9090
description: flutter
9191
source: sdk
9292
version: "0.0.0"
93-
leak_tracker:
94-
dependency: transitive
95-
description:
96-
name: leak_tracker
97-
sha256: "04be76c4a4bb50f14904e64749237e541e7c7bcf7ec0b196907322ab5d2fc739"
98-
url: "https://pub.dev"
99-
source: hosted
100-
version: "9.0.16"
101-
leak_tracker_testing:
102-
dependency: transitive
103-
description:
104-
name: leak_tracker_testing
105-
sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff
106-
url: "https://pub.dev"
107-
source: hosted
108-
version: "1.0.5"
10993
lints:
11094
dependency: transitive
11195
description:
@@ -126,18 +110,18 @@ packages:
126110
dependency: transitive
127111
description:
128112
name: material_color_utilities
129-
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
113+
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
130114
url: "https://pub.dev"
131115
source: hosted
132-
version: "0.8.0"
116+
version: "0.5.0"
133117
meta:
134118
dependency: transitive
135119
description:
136120
name: meta
137-
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
121+
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
138122
url: "https://pub.dev"
139123
source: hosted
140-
version: "1.11.0"
124+
version: "1.10.0"
141125
ordered_set:
142126
dependency: transitive
143127
description:
@@ -215,14 +199,6 @@ packages:
215199
url: "https://pub.dev"
216200
source: hosted
217201
version: "2.1.4"
218-
vm_service:
219-
dependency: transitive
220-
description:
221-
name: vm_service
222-
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
223-
url: "https://pub.dev"
224-
source: hosted
225-
version: "13.0.0"
226202
web:
227203
dependency: transitive
228204
description:

lib/widgets/edge_component.dart

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class EdgeComponent extends ShapeComponent
3737
Duration get panelDelay =>
3838
gameRef.options.panelDelay ?? const Duration(milliseconds: 300);
3939

40+
bool get hasPanel => gameRef.options.edgePanelBuilder != null;
41+
4042
@override
4143
FutureOr<void> onLoad() {
4244
hitBox = edgeShape.hitBox(edge, this);
@@ -47,10 +49,10 @@ class EdgeComponent extends ShapeComponent
4749

4850
void loadOverlay() {
4951
var panelBuilder = gameRef.options.edgePanelBuilder;
50-
if (panelBuilder == null) return;
52+
if (!hasPanel) return;
5153

5254
gameRef.overlays.addEntry(overlayName, (_, game) {
53-
return panelBuilder(edge, gameRef.camera.viewfinder);
55+
return panelBuilder!(edge, gameRef.camera.viewfinder);
5456
});
5557
}
5658

@@ -75,7 +77,9 @@ class EdgeComponent extends ShapeComponent
7577
void onHoverEnter() {
7678
paint.strokeWidth = 4;
7779
gameRef.graph.hoverEdge = edge;
78-
gameRef.overlays.add(overlayName);
80+
if (hasPanel) {
81+
gameRef.overlays.add(overlayName);
82+
}
7983
}
8084

8185
@override
@@ -91,8 +95,10 @@ class EdgeComponent extends ShapeComponent
9195
void onHoverExit() {
9296
paint.strokeWidth = 1;
9397
gameRef.graph.hoverEdge = null;
94-
Future.delayed(panelDelay, () {
95-
gameRef.overlays.remove(overlayName);
96-
});
98+
if (hasPanel) {
99+
Future.delayed(panelDelay, () {
100+
gameRef.overlays.remove(overlayName);
101+
});
102+
}
97103
}
98104
}

lib/widgets/vertex_component.dart

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ class VertexComponent extends ShapeComponent
5252
Duration get panelDelay =>
5353
gameRef.options.panelDelay ?? const Duration(milliseconds: 300);
5454

55+
bool get hasPanel => gameRef.options.vertexPanelBuilder != null;
56+
5557
@override
5658
FutureOr<void> onLoad() {
5759
if (options?.enableHit != false) {
@@ -64,10 +66,10 @@ class VertexComponent extends ShapeComponent
6466

6567
void loadOverlay() {
6668
var panelBuilder = gameRef.options.vertexPanelBuilder;
67-
if (panelBuilder == null) return;
69+
if (!hasPanel) return;
6870

6971
gameRef.overlays.addEntry(overlayName, (_, game) {
70-
return panelBuilder(vertex, gameRef.camera.viewfinder);
72+
return panelBuilder!(vertex, gameRef.camera.viewfinder);
7173
});
7274
}
7375

@@ -116,15 +118,19 @@ class VertexComponent extends ShapeComponent
116118
@override
117119
void onHoverEnter() {
118120
graph.hoverVertex = vertex;
119-
gameRef.overlays.add(overlayName);
121+
if (hasPanel) {
122+
gameRef.overlays.add(overlayName);
123+
}
120124
}
121125

122126
@override
123127
void onHoverExit() {
124128
graph.hoverVertex = null;
125-
Future.delayed(panelDelay, () {
126-
gameRef.overlays.remove(overlayName);
127-
});
129+
if (hasPanel) {
130+
Future.delayed(panelDelay, () {
131+
gameRef.overlays.remove(overlayName);
132+
});
133+
}
128134
}
129135

130136
@override

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: flutter_graph_view
22
description: Widgets for beautiful graphic data structures, such as force-oriented diagrams.
3-
version: 0.2.2
3+
version: 0.2.2+1
44
homepage: https://github.com/dudu-ltd/flutter_graph_view
55

66
environment:

0 commit comments

Comments
 (0)