import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_popup_menu_button.dart'; import 'package:fcs/domain/vo/local_popupmenu.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../domain/entities/carton.dart'; import '../../pagination/paginator_listview.dart'; import 'delivery_list_row.dart'; import 'model/delivery_model.dart'; class DeliverList extends StatefulWidget { @override _DeliverListState createState() => _DeliverListState(); } class _DeliverListState extends State { bool _isLoading = false; int _selectedIndex = 1; @override void initState() { super.initState(); _init(); } _init() { var model = context.read(); _selectedIndex = model.selectedIndex; model.loadPaginationCartons(_selectedIndex); if (mounted) { setState(() {}); } } @override Widget build(BuildContext context) { var deliveryModel = Provider.of(context); final popupMenu = LocalPopupMenuButton( popmenus: [ LocalPopupMenu( id: 1, textKey: "delivery.popupmenu.active", selected: deliveryModel.selectedIndex == 1), LocalPopupMenu( id: 2, textKey: "delivery.popupmenu.delivered", selected: deliveryModel.selectedIndex == 2) ], popupMenuCallback: (p) { setState(() { _selectedIndex = p.id; }); context.read().onChanged(_selectedIndex); }); return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( appBar: LocalAppBar(labelKey: "delivery", actions: [popupMenu]), body: PaginatorListView( paginatorListener: deliveryModel.getCartons!, rowBuilder: (p) => DeliveryListRow(box: p), color: primaryColor))); } }