Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- import 'package:flutter_bloc/flutter_bloc.dart';
- import 'package:fluttertoast/fluttertoast.dart';
- import 'package:options_x_ray_informer/BLOCs/DashBLOC.dart';
- import 'package:options_x_ray_informer/BLOCs/events/UIRequests.dart';
- import 'package:options_x_ray_informer/BLOCs/states/ViewDataStates.dart';
- import 'package:options_x_ray_informer/model/network/Connection.dart';
- import 'package:options_x_ray_informer/view/Details.dart';
- import 'package:options_x_ray_informer/view/Widgets/DashboardCardWidget.dart';
- class Dashboard extends StatefulWidget{
- @override
- _DashboardState createState() => _DashboardState();
- }
- class _DashboardState extends State<Dashboard> {
- final DashBLOC _bloc = new DashBLOC(Connection.instance);
- _DashboardState(){
- _bloc.dispatch(new UpdateRequest());
- }
- @override
- Widget build(BuildContext context) {
- double pyxelRatio = MediaQuery.of(context).devicePixelRatio;
- double width = MediaQuery.of(context).size.width * pyxelRatio;
- return BlocProvider(
- bloc: _bloc,
- child: BlocBuilder<Request, DataState>(
- bloc: _bloc,
- builder: (context, state) {
- if (state is EmptyDataState) {
- print("Uninit");
- return Center(
- child: CircularProgressIndicator(),
- );
- }
- if (state is ErrorDataState) {
- print("Error");
- return Center(
- child: Text('Something went wrong..'),
- );
- }
- if (state is LoadedDataState) {
- print("empty: ${state.contracts.isEmpty}");
- if (state.contracts.isEmpty) {
- return Center(
- child: Text('Nothing here!'),
- );
- } else{
- print("items count: ${state.contracts.length}");
- print("-------");
- for(int i = 0; i < state.contracts.length; i++){
- if(state.contracts[i].isFavorite)print("fut:${state.contracts[i].name} id:${state.contracts[i].id}");
- }
- print("--------");
- List<Widget> testList = new List<Widget>();
- for(int i = 0; i < state.contracts.length; i++){
- if(state.contracts[i].isFavorite) testList.add(
- InkResponse(
- enableFeedback: true,
- onLongPress: (){
- showShortToast();
- DashBLOC dashBloc = BlocProvider.of<DashBLOC>(context);
- dashBloc.dispatch(new UnfavRequest(state.contracts[i].id));
- },
- onTap: onTap,
- child:DashboardCardWidget(state.contracts[i])
- )
- );
- }
- return GridView.count(
- crossAxisCount: width >= 900 ? 2 : 1,
- padding: const EdgeInsets.all(2.0),
- children: testList
- );
- }
- }
- })
- );
- }
- void onTap(){
- Navigator.push(context, new MaterialPageRoute(
- builder: (context) =>
- DetailsScreen())
- );
- }
- void showShortToast() {
- Fluttertoast.showToast(
- gravity: ToastGravity.BOTTOM,
- fontSize: 14,
- msg: "Fav removed",
- toastLength: Toast.LENGTH_SHORT,
- backgroundColor: Colors.black12,
- timeInSecForIos: 1);
- }
- @override
- void dispose() {
- _bloc.dispose();
- super.dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement