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_do_summary_details.dart'; class DeliveryDoSummaryChart extends StatefulWidget { @override _DeliveryDoSummaryChartState createState() => _DeliveryDoSummaryChartState(); } class _DeliveryDoSummaryChartState 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.getDeliveryDoSummary(), domainFn: (Data series, _) => "${series.totalDay}days", measureFn: (Data series, _) => series.totalCount, labelAccessorFn: (Data series, _) => '${numberFormatter.format(series.totalCount)}'), ]; return Container( height: 200, child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ LocalText(context, "delivery.do.summary", color: primaryColor, fontSize: 16), InkWell( child: LocalText( context, "delivery.do.details", color: secondaryColor, fontSize: 14, ), onTap: () { Navigator.of(context).push(MaterialPageRoute( builder: (_) => DeliveryDoSummaryDetail())); }, ), ], ), Expanded( child: charts.BarChart( series, animate: true, vertical: false, defaultRenderer: new charts.BarRendererConfig( barRendererDecorator: new charts.BarLabelDecorator( labelPosition: charts.BarLabelPosition.auto, ), ), ), ), ], ), ); } }