27
loading...
This website collects cookies to deliver better user experience
enum LocationFilter { all, district, region }
. This enum value will be passed to the FarmerListScreen()
widget to modify the screen into an all farmer list screen, district farmer list screen or region farmer list screen.class FarmerListScreen extends StatefulWidget {
static String routeName = 'AllFarmerScreen';
final LocationFilter filter;
const FarmerListScreen({
this.filter: LocationFilter.all,
Key? key,
}) : super(key: key);
@override
_FarmerListScreenController createState() => _FarmerListScreenController();
}
class _FarmerListScreenController extends State<FarmerListScreen> {
@override
Widget build(BuildContext context) => _FarmerListScreenView(this);
late Stream<QuerySnapshot<FarmerServiceModel>> stream;
@override
void initState() {
super.initState();
switch (widget.filter) {
case LocationFilter.region:
stream = RegionFarmerCommand(context).run();
break;
case LocationFilter.district:
stream = DistrictFarmerCommand(context).run();
break;
default:
stream = AllFarmerCommand(context).run();
break;
}
}
LocationFilter.region
, LocationFilter.district
or the default LocationFilter.all
respectively.String getScreenTitle() {
var title = ' Farmer Register';
switch (widget.filter) {
case LocationFilter.district:
return Provider.of<UserModel>(context).currentUser.district + title;
case LocationFilter.region:
return Provider.of<UserModel>(context).currentUser.region + title;
default:
return title;
}
}
FarmerListScreenWidget()
.27