import 'package:charts_flutter/flutter.dart' as charts; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; import 'package:fcs/model/chart_model.dart'; import 'package:fcs/theme/theme.dart'; import 'package:fcs/vo/revenue.dart'; import 'package:fcs/widget/local_text.dart'; import 'delivery_summary_detail.dart'; class DeliverySummary extends StatefulWidget { @override _DeliverySummaryState createState() => _DeliverySummaryState(); } class _DeliverySummaryState extends State { static final numberFormatter = new NumberFormat("#,###"); var dateFormatter = new DateFormat('dd MMM yyyy'); @override void initState() { super.initState(); } @override Widget build(BuildContext context) { var chartModel = Provider.of(context); List> series = [ charts.Series( id: "Subscribers", data: chartModel.revenue.getDeliverySummary(), domainFn: (Data series, _) => "${series.totalDay}days", measureFn: (Data series, _) => series.totalAmount, labelAccessorFn: (Data series, _) => '${numberFormatter.format(series.totalAmount)}'), ]; return Container( height: 200, child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ LocalText(context, "delivery.summary", color: primaryColor, fontSize: 16), InkWell( child: LocalText( context, "delivery.detail", color: secondaryColor, fontSize: 14, ), onTap: () { Navigator.of(context).push(MaterialPageRoute( builder: (_) => DeliverySummaryDetail())); }, ), ], ), Expanded( child: charts.BarChart( series, animate: true, vertical: false, defaultRenderer: new charts.BarRendererConfig( barRendererDecorator: new charts.BarLabelDecorator( labelPosition: charts.BarLabelPosition.auto, ), ), ), ), ], ), ); } }