Skip to content

Commit 4feaf27

Browse files
Merge pull request #3 from Dharanipalani/master
committed the sample
2 parents 363817d + 747fca9 commit 4feaf27

File tree

1 file changed

+25
-44
lines changed

1 file changed

+25
-44
lines changed

lib/main.dart

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -29,68 +29,50 @@ class MyHomePage extends StatefulWidget {
2929
}
3030

3131
class _MyHomePageState extends State<MyHomePage> {
32-
late TooltipBehavior _tooltipBehavior;
33-
late TrackballBehavior _trackballBehavior;
34-
late Future<List<SalesData>> _future;
32+
List<SalesData> chartData = [];
3533

3634
@override
3735
void initState() {
38-
_tooltipBehavior = TooltipBehavior(enable: true);
39-
_trackballBehavior = TrackballBehavior(enable: true);
40-
_future = loadSalesData();
36+
loadSalesData();
4137
super.initState();
4238
}
4339

44-
Future<List<SalesData>> loadSalesData() async {
45-
List<SalesData> chartData = [];
40+
Future loadSalesData() async {
4641
String jsonString = await getJsonFromFirebaseRestAPI();
4742
final jsonResponse = json.decode(jsonString);
4843
setState(() {
49-
for (Map<String, dynamic> i in jsonResponse) chartData.add(SalesData.fromJson(i));
44+
for (Map<String, dynamic> i in jsonResponse)
45+
chartData.add(SalesData.fromJson(i));
5046
});
51-
52-
return chartData;
5347
}
5448

5549
Future<String> getJsonFromFirebaseRestAPI() async {
5650
var url = "https://flutterdemo-f6d47.firebaseio.com/chartSalesData.json";
5751
var response = await http.get(Uri.parse(url));
58-
5952
return response.body;
6053
}
6154

6255
@override
6356
Widget build(BuildContext context) {
6457
return Scaffold(
65-
appBar: AppBar(
66-
title: const Text('Syncfusion Flutter chart'),
67-
),
68-
body: Center(
69-
child: FutureBuilder<List<SalesData>>(
70-
future: _future,
71-
builder: (context, snapshot) {
72-
if (snapshot.data != null) {
73-
print('data');
74-
return SfCartesianChart(
75-
primaryXAxis: CategoryAxis(),
76-
// Chart title
77-
title: ChartTitle(text: 'Half yearly sales analysis'),
78-
// Enable legend
79-
legend: Legend(isVisible: true),
80-
// Enable tooltip
81-
tooltipBehavior: _tooltipBehavior,
82-
trackballBehavior: _trackballBehavior,
83-
series: <ChartSeries<SalesData, String>>[
84-
LineSeries<SalesData, String>(
85-
dataSource: snapshot.data!,
86-
xValueMapper: (SalesData sales, _) => sales.month,
87-
yValueMapper: (SalesData sales, _) => sales.sales,
88-
// Enable data label
89-
dataLabelSettings:
90-
DataLabelSettings(isVisible: true))
91-
]);
92-
}
93-
return Card(
58+
appBar: AppBar(
59+
title: const Text('Syncfusion Flutter chart'),
60+
),
61+
body: Center(
62+
child: chartData.isNotEmpty
63+
? SfCartesianChart(
64+
primaryXAxis: CategoryAxis(),
65+
// Chart title
66+
title: ChartTitle(text: 'Half yearly sales analysis'),
67+
series: <ChartSeries<SalesData, String>>[
68+
LineSeries<SalesData, String>(
69+
dataSource: chartData,
70+
xValueMapper: (SalesData sales, _) => sales.month,
71+
yValueMapper: (SalesData sales, _) => sales.sales,
72+
// Enable data label
73+
dataLabelSettings: DataLabelSettings(isVisible: true))
74+
])
75+
: Card(
9476
elevation: 5.0,
9577
child: Container(
9678
height: 100,
@@ -115,9 +97,8 @@ class _MyHomePageState extends State<MyHomePage> {
11597
),
11698
),
11799
),
118-
);
119-
}),
120-
));
100+
)),
101+
);
121102
}
122103
}
123104

0 commit comments

Comments
 (0)