Skip to content

Commit 4f1137d

Browse files
authored
Merge pull request #36 from warioddly/dev
refactor GraphifyController and update dependencies
2 parents 671b9cf + 2ee8974 commit 4f1137d

File tree

7 files changed

+34
-44
lines changed

7 files changed

+34
-44
lines changed

.flutter-plugins-dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"webview_flutter_wkwebview","path":"C:\\\\Users\\\\user\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\webview_flutter_wkwebview-3.18.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"webview_flutter_android","path":"C:\\\\Users\\\\user\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\webview_flutter_android-4.3.2\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"webview_flutter_wkwebview","path":"C:\\\\Users\\\\user\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\webview_flutter_wkwebview-3.18.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"webview_flutter","dependencies":["webview_flutter_android","webview_flutter_wkwebview"]},{"name":"webview_flutter_android","dependencies":[]},{"name":"webview_flutter_wkwebview","dependencies":[]}],"date_created":"2025-02-27 21:07:20.554422","version":"3.29.0","swift_package_manager_enabled":{"ios":false,"macos":false}}
1+
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"webview_flutter_wkwebview","path":"/Users/coffeen/.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"webview_flutter_android","path":"/Users/coffeen/.pub-cache/hosted/pub.dev/webview_flutter_android-4.7.0/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"webview_flutter_wkwebview","path":"/Users/coffeen/.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"webview_flutter","dependencies":["webview_flutter_android","webview_flutter_wkwebview"]},{"name":"webview_flutter_android","dependencies":[]},{"name":"webview_flutter_wkwebview","dependencies":[]}],"date_created":"2025-06-23 22:41:03.527735","version":"3.32.1","swift_package_manager_enabled":{"ios":false,"macos":false}}

example/pubspec.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ packages:
55
dependency: transitive
66
description:
77
name: async
8-
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
8+
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
99
url: "https://pub.dev"
1010
source: hosted
11-
version: "2.12.0"
11+
version: "2.13.0"
1212
boolean_selector:
1313
dependency: transitive
1414
description:
@@ -53,10 +53,10 @@ packages:
5353
dependency: transitive
5454
description:
5555
name: fake_async
56-
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
56+
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
5757
url: "https://pub.dev"
5858
source: hosted
59-
version: "1.3.2"
59+
version: "1.3.3"
6060
file:
6161
dependency: transitive
6262
description:
@@ -104,7 +104,7 @@ packages:
104104
path: ".."
105105
relative: true
106106
source: path
107-
version: "1.0.9"
107+
version: "1.1.2"
108108
integration_test:
109109
dependency: "direct dev"
110110
description: flutter
@@ -114,10 +114,10 @@ packages:
114114
dependency: transitive
115115
description:
116116
name: leak_tracker
117-
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
117+
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
118118
url: "https://pub.dev"
119119
source: hosted
120-
version: "10.0.8"
120+
version: "10.0.9"
121121
leak_tracker_flutter_testing:
122122
dependency: transitive
123123
description:
@@ -335,10 +335,10 @@ packages:
335335
dependency: transitive
336336
description:
337337
name: vm_service
338-
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
338+
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
339339
url: "https://pub.dev"
340340
source: hosted
341-
version: "14.3.1"
341+
version: "15.0.0"
342342
web:
343343
dependency: transitive
344344
description:
@@ -351,10 +351,10 @@ packages:
351351
dependency: transitive
352352
description:
353353
name: webdriver
354-
sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8"
354+
sha256: "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade"
355355
url: "https://pub.dev"
356356
source: hosted
357-
version: "3.0.4"
357+
version: "3.1.0"
358358
webview_flutter:
359359
dependency: transitive
360360
description:

lib/src/controller/implements/facade.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
import 'package:graphify/src/controller/interface.dart' as controller_interface;
22

3-
class GraphifyController implements controller_interface.GraphifyController {
4-
5-
@override
6-
final String uid = "";
3+
class GraphifyController extends controller_interface.GraphifyController {
74

85
@override
96
void update(Map<String, dynamic>? options) {

lib/src/controller/implements/mobile.dart

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,25 @@ import 'dart:convert';
33

44
import 'package:graphify/src/controller/interface.dart' as controller_interface;
55
import 'package:graphify/src/utils/js_methods.dart';
6-
import 'package:graphify/src/utils/utils.dart';
76
import 'package:webview_flutter/webview_flutter.dart';
87

9-
class GraphifyController implements controller_interface.GraphifyController {
10-
GraphifyController() {
11-
uid = Utils.uid();
12-
}
8+
class GraphifyController extends controller_interface.GraphifyController {
139

1410
late final WebViewController _connector;
1511

16-
@override
17-
late final String uid;
18-
1912
@override
2013
Future<void> update(Map<String, dynamic>? options) async {
21-
await _callMethod('window.${JsMethods.updateChart}("$uid", ${jsonEncode(options ?? {})})');
14+
await runJavaScript('window.${JsMethods.updateChart}("$uid", ${jsonEncode(options ?? {})})');
2215
}
2316

24-
set connector(WebViewController connector) {
25-
_connector = connector;
26-
}
17+
set connector(WebViewController connector) => _connector = connector;
2718

28-
Future<void> _callMethod(String javaScript) async {
19+
Future<void> runJavaScript(String javaScript) async {
2920
await _connector.runJavaScript(javaScript);
3021
}
3122

3223
@override
3324
void dispose() async {
34-
await _callMethod('window.${JsMethods.disposeChart}("$uid")');
25+
await runJavaScript('window.${JsMethods.disposeChart}("$uid")');
3526
}
3627
}

lib/src/controller/implements/web.dart

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,9 @@ import 'dart:js_interop_unsafe';
44

55
import 'package:graphify/src/controller/interface.dart' as controller_interface;
66
import 'package:graphify/src/utils/js_methods.dart';
7-
import 'package:graphify/src/utils/utils.dart';
87
import 'package:web/web.dart';
98

10-
class GraphifyController implements controller_interface.GraphifyController {
11-
GraphifyController() {
12-
uid = Utils.uid();
13-
}
14-
15-
@override
16-
late final String uid;
9+
class GraphifyController extends controller_interface.GraphifyController {
1710

1811
@override
1912
void update(Map<String, dynamic>? options) {

lib/src/controller/interface.dart

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11

2-
abstract class GraphifyController {
2+
import 'package:graphify/src/utils/utils.dart';
33

4-
String get uid;
4+
mixin Disposable {
5+
void dispose();
6+
}
57

6-
void update(Map<String, dynamic>? options);
8+
abstract class GraphifyController with Disposable {
79

8-
void dispose();
10+
/// Creates a new instance of [GraphifyController] with a unique identifier.
11+
GraphifyController() : uid = Utils.uid();
12+
13+
/// Unique identifier for the chart instance.
14+
final String uid;
15+
16+
/// Updates the chart with the provided options.
17+
void update(Map<String, dynamic>? options);
918

1019
}

pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ repository: "https://github.com/warioddly/graphify"
44
documentation: "https://echarts.apache.org/en/option.html#title"
55
issue_tracker: "https://github.com/warioddly/graphify/issues"
66

7-
version: 1.1.1
7+
version: 1.1.2
88

99
environment:
1010
sdk: '>=3.2.3 <4.0.0'
@@ -48,5 +48,5 @@ topics:
4848
- graph
4949
- charts
5050
- echarts
51-
- webgl
51+
- visualization
5252
- diagram

0 commit comments

Comments
 (0)