import 'package:fcs/model/pickup_model.dart'; import 'package:fcs/model_fcs/package_model.dart'; import 'package:fcs/pages/barcode_screen_page.dart'; import 'package:fcs/pages/pickup_list_row.dart'; import 'package:fcs/pages/search_page.dart'; import 'package:fcs/pages_fcs/package_editor.dart'; import 'package:fcs/pages_fcs/package_list_row.dart'; import 'package:fcs/vo/buyer.dart'; import 'package:fcs/widget/bottom_up_page_route.dart'; import 'package:fcs/widget/localization/app_translations.dart'; import 'package:fcs/widget/progress.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_icons/flutter_icons.dart'; import 'package:provider/provider.dart'; import '../theme/theme.dart'; class PackageList extends StatefulWidget { @override _PackageListState createState() => _PackageListState(); } class _PackageListState extends State { Buyer buyer; bool _isLoading = false; @override void initState() { super.initState(); } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { var packageModel = Provider.of(context); return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( appBar: AppBar( centerTitle: true, leading: new IconButton( icon: new Icon(Icons.close), onPressed: () => Navigator.of(context).pop(), ), backgroundColor: primaryColor, title: Text(AppTranslations.of(context).text("package.title")), actions: [ // IconButton( // icon: Icon( // Ionicons.ios_barcode, // color: Colors.white, // ), // iconSize: 30, // onPressed: () { // Navigator.push( // context, // BottomUpPageRoute(BarcodeScreenPage()), // ); // }, // ), IconButton( icon: Icon( Icons.search, color: Colors.white, ), iconSize: 30, onPressed: () => showPlacesSearch(context), ), ], ), floatingActionButton: FloatingActionButton.extended( onPressed: () { _newPickup(); }, icon: Icon(Icons.add), label: Text(AppTranslations.of(context).text("package.new")), backgroundColor: primaryColor, ), body: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: packageModel.getPackages.length, itemBuilder: (BuildContext context, int index) { return PackageListRow( package: packageModel.getPackages[index], isReadOnly: false, ); })), ); } _newPickup() { Navigator.push( context, BottomUpPageRoute(PackageEditor()), ); } Widget _upComing() { var packageModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: packageModel.upcoming.length, itemBuilder: (BuildContext context, int index) { return PackageListRow( package: packageModel.upcoming[index], isReadOnly: false, ); }), ), ], ); } Widget _completed() { var packageModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: packageModel.completed.length, itemBuilder: (BuildContext context, int index) { return PackageListRow( package: packageModel.completed[index], isReadOnly: false, ); }), ), ], ); } Widget _shipped() { var packageModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: packageModel.shipped.length, itemBuilder: (BuildContext context, int index) { return PackageListRow( package: packageModel.shipped[index], isReadOnly: false, ); }), ), ], ); } Widget _arrived() { var packageModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: packageModel.arrived.length, itemBuilder: (BuildContext context, int index) { return PackageListRow( package: packageModel.arrived[index], isReadOnly: false, ); }), ), ], ); } Widget _delivered() { var packageModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: packageModel.delivered.length, itemBuilder: (BuildContext context, int index) { return PackageListRow( package: packageModel.delivered[index], isReadOnly: false, ); }), ), ], ); } }