import 'package:discover_module/constants.dart'; import 'package:discover_module/custom_widget/text.dart'; import 'package:discover_module/provider_class/medicalinsightprovider.dart'; import 'package:discover_module/provider_class/nih_provider.dart'; import 'package:discover_module/provider_class/patent_provider.dart'; import 'package:discover_module/provider_class/procedureprovider.dart'; import 'package:discover_module/ui_screen/bottom_sheet.dart'; import 'package:discover_module/ui_screen/interactionform/interactionprovider.dart'; import 'package:discover_module/ui_screen/interactionform/model/save_interaction.dart'; import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart'; import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart'; import 'package:discover_module/ui_screen/medical_insight.dart'; import 'package:discover_module/ui_screen/new_editinteraction.dart'; import 'package:discover_module/ui_screen/new_viewinteraction.dart'; import 'package:discover_module/ui_screen/nih_show_more.dart'; import 'package:discover_module/ui_screen/patent_show_more.dart'; import 'package:discover_module/ui_screen/pro_show_more.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class EngagementTab extends StatefulWidget { EngagementTab({required this.text, Key? key}) : super(key: key); final int text; @override State createState() => _EngagementTabState(); } class _EngagementTabState extends State { bool _isExpanded = false; List medinsightData = []; List patent = []; List nihgrants = []; List procedure = []; // List eng = []; var item; @override void initState() { // TODO: implement initState super.initState(); getdata(); } getdata() async { var form = Provider.of(context, listen: false); form.savedList; //var med = Provider.of(context, listen: false); //await med.medicalinsightdata(); // final medlist = med.trialsinfo; var patentt = Provider.of(context, listen: false); await patentt.patentinfo(widget.text); final patentt1 = patentt.patentlist; var nih = Provider.of(context, listen: false); await nih.nihinfo(widget.text); final nih1 = nih.nihgrantslist; var pro = Provider.of(context, listen: false); await pro.proinfo(widget.text); final pro1 = pro.prolist; setState(() { // medinsightData = medlist; patent = patentt1; nihgrants = nih1; procedure = pro1; // speaker = speakerlist; // eng = engtypelist; }); print("CheckingPatent: $patent"); print("Checkingnihgrants: $nihgrants"); } @override Widget build(BuildContext context) { return Center( child: ListView( children: [ // ListTileTheme( // dense: true, // child: Padding( // padding: const EdgeInsets.only(left: 8.0, right: 8.0), // child: Card( // margin: EdgeInsets.all(1.0), // //elevation: 5, // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(0.0), // ), // color: Constants.k2color11, // child: ExpansionTile( // initiallyExpanded: false, // maintainState: true, // onExpansionChanged: (bool expanded) { // setState(() { // _isExpanded = expanded; // }); // }, // backgroundColor: Constants.k2color11, // trailing: Icon( // _isExpanded // ? Icons.keyboard_arrow_up // : Icons.keyboard_arrow_down, // color: Colors.black), // // collapsedBackgroundColor: Color(0xFF2b9af3), // // initiallyExpanded: true, // title: Row( // mainAxisAlignment: MainAxisAlignment.start, // // mainAxisSize: MainAxisSize.min, // children: [ // Text1( // title: "Medical Insights", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // const SizedBox( // width: 8.0, // ), // Text1( // title: "(3)", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // ], // ), // children: [ // Container( // width: MediaQuery.of(context).size.width, // /// 5, // color: Colors.white, // child: Consumer(builder: // (BuildContext context, value, Widget? child) { // print("med1 : ${value.med.length}"); // if (value.med.length != 0) { // return ListView.builder( // physics: const ScrollPhysics(), // // scrollDirection: Axis.vertical, // shrinkWrap: true, // itemCount: value.med.take(2).length, // itemBuilder: (context, index) { // item = value.med[index]; // print( // "Item_Medical_insight ${item['Therapeutic Area']}"); // return Padding( // padding: const EdgeInsets.all(8.0), // child: Card( // margin: EdgeInsets.zero, // elevation: 4, // surfaceTintColor: Colors.white, // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.zero, // ), // child: SizedBox( // width: MediaQuery.sizeOf(context).width, // child: ListTile( // dense: true, // title: Column( // // crossAxisAlignment: CrossAxisAlignment.center, // children: [ // // Text( // // "Acute neurology is the therapeutic area of the medical insight for Product A. The age of treatment is the topic of interest for this source type publication."), // RichText( // text: TextSpan( // text: '', // style: DefaultTextStyle.of( // context) // .style, // children: const [ // TextSpan( // text: // 'Acute neurology ', // style: TextStyle( // fontWeight: // FontWeight // .bold)), // // TextSpan( // // text: ' therapeutic area ', // // style: TextStyle( // // fontWeight: // // FontWeight.bold)), // TextSpan( // text: // 'is the therapeutic area of the medical insight for '), // TextSpan( // text: // 'Product A. The age of treatment', // style: TextStyle( // fontWeight: // FontWeight // .bold)), // TextSpan( // text: // ' is the topic of interest for this source type'), // TextSpan( // text: ' publication.', // style: TextStyle( // fontWeight: // FontWeight // .bold)), // ], // ), // ), // const Padding( // padding: EdgeInsets.all(8.0), // child: Row( // mainAxisAlignment: // MainAxisAlignment // .spaceBetween, // children: [ // Row( // children: [ // Icon( // Icons.person, // size: 20, // ), // Text( // "pooja", // style: TextStyle( // fontSize: 14.0), // ) // ], // ), // Row( // children: [ // Icon( // Icons.calendar_today, // size: 20, // ), // Text( // "11/11/2022 ", // style: TextStyle( // fontSize: 14.0), // ) // ], // ) // ], // ), // ), // ], // ), // ), // ), // // shape: BorderRadius.only(bottomRight: Radius.circular(50)), // ), // ); // }); // } else { // return Container( // color: Colors.white, // width: MediaQuery.of(context).size.width, // child: Column( // children: [ // Text("No records"), // ], // ), // ); // } // }), // ), // Container( // color: Colors.white, // child: Align( // alignment: Alignment.center, // child: Padding( // padding: const EdgeInsets.all(8.0), // child: OutlinedButton( // onPressed: () { // Navigator.push( // context, // MaterialPageRoute( // builder: (_) => // const MedicalInsight1())); // }, // child: Text( // 'Show More', // style: TextStyle(color: Constants.k2color), // ), // style: OutlinedButton.styleFrom( // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(12), // ), // ), // ), // ), // ), // ) // ]), // ), // ), // ), ListTileTheme( dense: true, child: Padding( padding: const EdgeInsets.only(left: 8.0, right: 8.0), child: Card( margin: EdgeInsets.all(1.0), // elevation: 5, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(0.0), ), color: Constants.k2color11, child: ExpansionTile( initiallyExpanded: false, maintainState: true, onExpansionChanged: (bool expanded) { setState(() { _isExpanded = expanded; }); }, backgroundColor: Constants.k2color11, trailing: Icon( _isExpanded ? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down, color: Colors.black), // collapsedBackgroundColor: Color(0xFF2b9af3), title: Row( //mainAxisSize: MainAxisSize.min, children: [ GestureDetector( onTap: () async { final provider = Provider.of( context, listen: false); if (getCount(provider.intConfigDataList[0].name, provider) != 0) { provider.savedList .where((element) => element.form == provider.intConfigDataList[0].name) .toList(); Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => SavedFormListScreen( formname: provider .intConfigDataList[0].name, ))); } }, child: Text1( title: "Interactions", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), ), const SizedBox( width: 8.0, ), ], ), children: [ Container( height: MediaQuery.of(context).size.height / 5, color: Colors.white, child: Consumer(builder: (BuildContext context, provider, Widget? child) { print("P_leangth : ${provider.savedList.length}"); if (provider.savedList.length != 0) { return ListView.builder( shrinkWrap: true, physics: NeverScrollableScrollPhysics(), itemCount: provider.savedList.take(2).length, itemBuilder: (context, index) { print("Indexxxxxx $index"); return Column( children: [ ListTile( subtitle: Text( 'Updated on ${provider.savedList[index].updatedTime}', //style: TextStyle(fontStyle: FontStyle.italic), ), title: Text( provider.savedList[index].id, ), trailing: SizedBox( width: 150, child: Row(children: [ IconButton( onPressed: () { Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => ViewInteractionScreen1( saveInteraction: provider.savedList[ index], ))); }, icon: const Icon( Icons.info_outline, size: 24, color: Color.fromARGB( 255, 8, 39, 92), ), ), IconButton( onPressed: () async { await provider .initConfigData() .then({ Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => EditInteractionScreen1( saveInteraction: provider.savedList[ index], ))) }); }, icon: const Icon( Icons.edit, size: 24, color: Color.fromARGB( 255, 8, 39, 92), ), ), IconButton( onPressed: () { showDeleteRecordAlertDialog( context, provider .savedList[index].id, provider.savedList[index]); }, icon: const Icon( Icons.delete, size: 24, color: Color.fromARGB( 255, 8, 39, 92), ), ), ]), ), onTap: () { Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => ViewInteractionScreen1( saveInteraction: provider.savedList[ index], ))); }, ), const Divider(), ], ); }); } else { return Container( color: Colors.white, width: MediaQuery.of(context).size.width, child: Column( children: [ Text("No records"), ], ), ); } }), ), Container( color: Colors.white, child: Align( alignment: Alignment.center, child: Padding( padding: const EdgeInsets.all(8.0), child: OutlinedButton( onPressed: () { final provider = Provider.of(context, listen: false); if (getCount(provider.intConfigDataList[0].name, provider) != 0) { provider.savedList .where((element) => element.form == provider.intConfigDataList[0].name) .toList(); Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => SavedFormListScreen( formname: provider .intConfigDataList[0].name, ))); } }, child: Text('Show More'), style: OutlinedButton.styleFrom( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), ), ), ), ) ]), ), ), ), // ListTileTheme( // dense: true, // child: Padding( // padding: const EdgeInsets.only( // left: 8.0, right: 8.0), // child: Card( // margin: EdgeInsets.all(1.0), // // elevation: 5, // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(0.0), // ), // color: Constants.k2color11, // child: ExpansionTile( // initiallyExpanded: false, // maintainState: true, // onExpansionChanged: (bool expanded) { // setState(() { // _isExpanded = expanded; // }); // }, // backgroundColor: Constants.k2color11, // trailing: Icon( // _isExpanded // ? Icons.keyboard_arrow_up // : Icons.keyboard_arrow_down, // color: Colors.black), // // backgroundColor: Colors.white, // // collapsedBackgroundColor: Color(0xFF2b9af3), // title: Row( // mainAxisAlignment: // MainAxisAlignment.start, // // mainAxisSize: MainAxisSize.min, // children: [ // Text1( // title: "Speaker Evalution", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // const SizedBox( // width: 8.0, // ), // Text1( // title: "(4)", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // ], // ), // children: [ // Scrollbar( // child: SingleChildScrollView( // scrollDirection: Axis.horizontal, // child: Container( // constraints: BoxConstraints( // minWidth: // MediaQuery.of(context) // .size // .width), // color: Colors.white, // child: DataTable( // showCheckboxColumn: false, // columns: const [ // DataColumn( // label: Expanded( // child: Text( // 'Program Topic', // style: TextStyle( // fontWeight: // FontWeight // .w600), // ), // )), // DataColumn( // label: Expanded( // child: Text( // 'Speaker Name', // style: TextStyle( // fontWeight: // FontWeight // .w600)))), // ], // rows: List.generate( // speaker.take(2).length, // (index) => DataRow( // onSelectChanged: (value) { // // =======> Use onSelectChanged for tab // print( // "message ${speaker[index]}"); // // bsheet( // // publication_data[ // // index]); // showModalBottomSheet( // useRootNavigator: // true, // isScrollControlled: // false, // enableDrag: true, // useSafeArea: true, // constraints: // const BoxConstraints( // maxWidth: // double.infinity, // ), // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius // .vertical( // top: Radius // .circular(0), // ), // ), // clipBehavior: Clip // .antiAliasWithSaveLayer, // context: context, // builder: (context) { // return bsheet( // speaker[index]); // }, // ); // }, // color: MaterialStateProperty // .resolveWith< // Color?>((Set< // MaterialState> // states) { // if (index.isEven) { // return Colors.grey // .withOpacity(0.1); // } // return null; // }), // cells: [ // DataCell(Text( // speaker[index][ // 'programtopic'] // .toString(), // softWrap: true)), // DataCell(Text( // speaker[index][ // 'speakername'] // .toString(), // softWrap: true)), // ], // ), // ), // ), // ), // ), // ), // Container( // color: Colors.white, // child: Align( // alignment: Alignment.center, // child: Padding( // padding: // const EdgeInsets.all(8.0), // child: OutlinedButton( // onPressed: () { // // Navigator.push( // // context, // // MaterialPageRoute( // // builder: (_) => // // AffiliationsData())); // }, // child: Text( // 'Show More', // style: TextStyle( // color: // Constants.k2color), // ), // style: // OutlinedButton.styleFrom( // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius.circular( // 12), // ), // ), // ), // ), // ), // ) // ]), // ), // ), // ), // adds spacing between the text and image // ListTileTheme( // dense: true, // child: Padding( // padding: const EdgeInsets.only( // left: 8.0, right: 8.0), // child: Card( // margin: EdgeInsets.all(1.0), // // elevation: 5, // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(0.0), // ), // color: Constants.k2color11, // child: ExpansionTile( // initiallyExpanded: false, // maintainState: true, // onExpansionChanged: (bool expanded) { // setState(() { // _isExpanded = expanded; // }); // }, // backgroundColor: Constants.k2color11, // trailing: Icon( // _isExpanded // ? Icons.keyboard_arrow_up // : Icons.keyboard_arrow_down, // color: Colors.black), // // backgroundColor: Colors.white, // // collapsedBackgroundColor: Color(0xFF2b9af3), // title: Row( // mainAxisAlignment: // MainAxisAlignment.start, // // mainAxisSize: MainAxisSize.min, // children: [ // Text1( // title: "Engagements", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // const SizedBox( // width: 8.0, // ), // Text1( // title: "(3)", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // ], // ), // children: [ // Scrollbar( // child: SingleChildScrollView( // scrollDirection: Axis.horizontal, // child: Container( // constraints: BoxConstraints( // minWidth: // MediaQuery.of(context) // .size // .width), // color: Colors.white, // child: DataTable( // showCheckboxColumn: false, // columns: const [ // DataColumn( // label: Expanded( // child: Text( // 'Main Therapeutic Area', // style: TextStyle( // fontWeight: // FontWeight // .w600), // ), // )), // DataColumn( // label: Expanded( // child: Text('Date', // style: TextStyle( // fontWeight: // FontWeight // .w600)))), // ], // rows: List.generate( // eng.take(2).length, // (index) => DataRow( // onSelectChanged: (value) { // // =======> Use onSelectChanged for tab // print( // "message ${eng[index]}"); // // bsheet( // // publication_data[ // // index]); // showModalBottomSheet( // useRootNavigator: // true, // isScrollControlled: // false, // enableDrag: true, // useSafeArea: true, // constraints: // const BoxConstraints( // maxWidth: // double.infinity, // ), // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius // .vertical( // top: Radius // .circular(0), // ), // ), // clipBehavior: Clip // .antiAliasWithSaveLayer, // context: context, // builder: (context) { // return bsheet( // eng[index]); // }, // ); // }, // color: MaterialStateProperty // .resolveWith< // Color?>((Set< // MaterialState> // states) { // if (index.isEven) { // return Colors.grey // .withOpacity(0.1); // } // return null; // }), // cells: [ // DataCell(Text( // eng[index][ // 'main thereutic area'] // .toString(), // softWrap: true)), // DataCell(Text( // eng[index]['date'] // .toString(), // softWrap: true)), // ], // ), // ), // ), // ), // ), // ), // Container( // color: Colors.white, // child: Align( // alignment: Alignment.center, // child: Padding( // padding: // const EdgeInsets.all(8.0), // child: OutlinedButton( // onPressed: () { // Navigator.push( // context, // MaterialPageRoute( // builder: (_) => // EngagementList())); // }, // child: Text( // 'Show More', // style: TextStyle( // color: // Constants.k2color), // ), // style: // OutlinedButton.styleFrom( // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius.circular( // 12), // ), // ), // ), // ), // ), // ) // ]), // ), // ), // ), nihgrants.length != 0 ? ListTileTheme( dense: true, child: Padding( padding: const EdgeInsets.only(left: 8.0, right: 8.0), child: Card( margin: EdgeInsets.all(1.0), //elevation: 5, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(0.0), ), color: Constants.k2color11, child: ExpansionTile( initiallyExpanded: false, maintainState: true, // backgroundColor: Colors.white, // collapsedBackgroundColor: Color(0xFF2b9af3), onExpansionChanged: (bool expanded) { setState(() { _isExpanded = expanded; }); }, backgroundColor: Constants.k2color11, trailing: Icon( _isExpanded ? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down, color: Colors.black), title: Row( mainAxisAlignment: MainAxisAlignment.start, // mainAxisSize: MainAxisSize.min, children: [ Text1( title: "NIH Grants", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), const SizedBox( width: 8.0, ), Text1( title: "(${nihgrants.length.toString()})", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), ], ), children: [ Scrollbar( child: SingleChildScrollView( scrollDirection: Axis.horizontal, child: Container( constraints: BoxConstraints( minWidth: MediaQuery.of(context).size.width), color: Colors.white, child: DataTable( showCheckboxColumn: false, columns: const [ DataColumn( label: Expanded( child: Text('NIH Center', style: TextStyle( fontWeight: FontWeight.w600), softWrap: true), )), DataColumn( label: Expanded( child: Text('Organization Name', style: TextStyle( fontWeight: FontWeight.w600)))), ], rows: List.generate( nihgrants.take(2).length, (index) => DataRow( onSelectChanged: (value) { print("message ${nihgrants[index]}"); showModalBottomSheet( useRootNavigator: true, isScrollControlled: false, enableDrag: true, useSafeArea: true, constraints: const BoxConstraints( maxWidth: double.infinity, ), shape: RoundedRectangleBorder( borderRadius: BorderRadius.vertical( top: Radius.circular(0), ), ), clipBehavior: Clip.antiAliasWithSaveLayer, context: context, builder: (context) { return bsheet(nihgrants[index]); }, ); }, cells: [ DataCell(Text( nihgrants[index]['pi_names'] .toString(), softWrap: true)), DataCell(Text( nihgrants[index] ['NIH Center/Institute'] .toString(), softWrap: true)), ], ), ), ), ), ), ), Container( color: Colors.white, child: Align( alignment: Alignment.center, child: Padding( padding: const EdgeInsets.all(8.0), child: OutlinedButton( onPressed: () { Navigator.push( context, MaterialPageRoute( builder: (_) => NIHShowMore( text: widget.text))); }, child: Text( 'Show More', style: TextStyle(color: Constants.k2color), ), style: OutlinedButton.styleFrom( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), ), ), ), ) ]), ), ), ) : Container(), // adds spacing between the text and image procedure.length != 0 ? ListTileTheme( dense: true, child: Padding( padding: const EdgeInsets.only(left: 8.0, right: 8.0), child: Card( margin: EdgeInsets.all(1.0), // elevation: 5, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(0.0), ), color: Constants.k2color11, child: ExpansionTile( initiallyExpanded: false, maintainState: true, // backgroundColor: Colors.white, // collapsedBackgroundColor: Color(0xFF2b9af3), onExpansionChanged: (bool expanded) { setState(() { _isExpanded = expanded; }); }, backgroundColor: Constants.k2color11, trailing: Icon( _isExpanded ? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down, color: Colors.black), title: Row( mainAxisAlignment: MainAxisAlignment.start, // mainAxisSize: MainAxisSize.min, children: [ Text1( title: "Procedures", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), const SizedBox( width: 8.0, ), Text1( title: "(${procedure.length.toString()})", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), ], ), children: [ Scrollbar( child: SingleChildScrollView( scrollDirection: Axis.horizontal, child: Container( constraints: BoxConstraints( minWidth: MediaQuery.of(context).size.width), color: Colors.white, child: DataTable( showCheckboxColumn: false, columns: const [ DataColumn( label: Expanded( child: Text('Program Year', style: TextStyle( fontWeight: FontWeight.w600), softWrap: true), )), DataColumn( label: Expanded( child: Text('Procedure', style: TextStyle( fontWeight: FontWeight.w600)))), ], rows: List.generate( procedure.take(2).length, (index) => DataRow( onSelectChanged: (value) { print("message ${procedure[index]}"); showModalBottomSheet( useRootNavigator: true, isScrollControlled: false, enableDrag: true, useSafeArea: true, constraints: const BoxConstraints( maxWidth: double.infinity, ), shape: RoundedRectangleBorder( borderRadius: BorderRadius.vertical( top: Radius.circular(0), ), ), clipBehavior: Clip.antiAliasWithSaveLayer, context: context, builder: (context) { return bsheet(procedure[index]); }, ); }, cells: [ DataCell(Text( procedure[index]['Procedure'] .toString(), softWrap: true)), DataCell(Text( procedure[index] ['Place of Service'] .toString(), softWrap: true)), ], ), ), ), ), ), ), Container( color: Colors.white, child: Align( alignment: Alignment.center, child: Padding( padding: const EdgeInsets.all(8.0), child: OutlinedButton( onPressed: () { Navigator.push( context, MaterialPageRoute( builder: (_) => ProShowMore( text: widget.text))); }, child: Text( 'Show More', style: TextStyle(color: Constants.k2color), ), style: OutlinedButton.styleFrom( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), ), ), ), ) ]), ), ), ) : Container(), // adds spacing between the text and image patent.length != 0 ? ListTileTheme( dense: true, child: Padding( padding: const EdgeInsets.only(left: 8.0, right: 8.0), child: Card( margin: EdgeInsets.all(1.0), // elevation: 5, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(0.0), ), color: Constants.k2color11, child: ExpansionTile( initiallyExpanded: false, maintainState: true, // backgroundColor: Colors.white, // collapsedBackgroundColor: Color(0xFF2b9af3), onExpansionChanged: (bool expanded) { setState(() { _isExpanded = expanded; }); }, backgroundColor: Constants.k2color11, trailing: Icon( _isExpanded ? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down, color: Colors.black), title: Row( mainAxisAlignment: MainAxisAlignment.start, // mainAxisSize: MainAxisSize.min, children: [ Text1( title: "Patents", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), const SizedBox( width: 8.0, ), Text1( title: "(${patent.length.toString()})", txtcolor: Colors.black, fontweight: FontWeight.normal, txtfont: 17.0), ], ), children: [ Scrollbar( child: SingleChildScrollView( scrollDirection: Axis.horizontal, child: Container( constraints: BoxConstraints( minWidth: MediaQuery.of(context).size.width), color: Colors.white, child: DataTable( showCheckboxColumn: false, columns: const [ DataColumn( label: Expanded( child: Text('Patent Title', style: TextStyle( fontWeight: FontWeight.w600), softWrap: true), )), DataColumn( label: Expanded( child: Text('Status', style: TextStyle( fontWeight: FontWeight.w600)))), ], rows: List.generate( patent.take(2).length, (index) => DataRow( onSelectChanged: (value) { print("message ${patent[index]}"); showModalBottomSheet( useRootNavigator: true, isScrollControlled: false, enableDrag: true, useSafeArea: true, constraints: const BoxConstraints( maxWidth: double.infinity, ), shape: RoundedRectangleBorder( borderRadius: BorderRadius.vertical( top: Radius.circular(0), ), ), clipBehavior: Clip.antiAliasWithSaveLayer, context: context, builder: (context) { return bsheet(patent[index]); }, ); }, cells: [ DataCell(Text( patent[index]['Patent Title'] .toString(), softWrap: true)), DataCell(Text( patent[index]['Status'] .toString(), softWrap: true)), ], ), ), ), ), ), ), Container( color: Colors.white, child: Align( alignment: Alignment.center, child: Padding( padding: const EdgeInsets.all(8.0), child: OutlinedButton( onPressed: () { Navigator.push( context, MaterialPageRoute( builder: (_) => PatentShowMore( text: widget.text))); }, child: Text( 'Show More', style: TextStyle(color: Constants.k2color), ), style: OutlinedButton.styleFrom( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), ), ), ), ) ]), ), ), ) : Container(), // ListTileTheme( // dense: true, // child: Padding( // padding: const EdgeInsets.only( // left: 8.0, right: 8.0), // child: Container( // child: Card( // margin: EdgeInsets.all(1.0), // //elevation: 5, // shape: RoundedRectangleBorder( // borderRadius: // BorderRadius.circular(0.0), // ), // color: Constants.k2color11, // child: ExpansionTile( // initiallyExpanded: false, // maintainState: true, // // backgroundColor: Colors.white, // // collapsedBackgroundColor: Color(0xFF2b9af3), // onExpansionChanged: (bool expanded) { // setState(() { // _isExpanded = expanded; // }); // }, // backgroundColor: Constants.k2color11, // trailing: Icon( // _isExpanded // ? Icons.keyboard_arrow_up // : Icons.keyboard_arrow_down, // color: Colors.black), // title: Row( // mainAxisAlignment: // MainAxisAlignment.start, // // mainAxisSize: MainAxisSize.min, // children: [ // Text1( // title: "Patient Referrals", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 16.0), // const SizedBox( // width: 8.0, // ), // Text1( // title: "(3)", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 17.0), // ], // ), // children: [ // Scrollbar( // child: SingleChildScrollView( // scrollDirection: // Axis.horizontal, // child: Container( // constraints: BoxConstraints( // minWidth: // MediaQuery.of(context) // .size // .width), // color: Colors.white, // child: DataTable( // showCheckboxColumn: false, // columns: const [ // DataColumn( // label: Expanded( // child: Text( // 'Referred By', // style: TextStyle( // fontWeight: // FontWeight // .w600), // softWrap: true), // )), // DataColumn( // label: Expanded( // child: Text( // 'Type of Referrals', // style: TextStyle( // fontWeight: // FontWeight // .w600)))), // ], // rows: List.generate( // publication_data.length, // (index) => DataRow( // onSelectChanged: // (value) { // print( // "message ${publication_data[index]}"); // showModalBottomSheet( // useRootNavigator: // true, // isScrollControlled: // false, // enableDrag: true, // useSafeArea: true, // constraints: // const BoxConstraints( // maxWidth: double // .infinity, // ), // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius // .vertical( // top: Radius // .circular( // 0), // ), // ), // clipBehavior: Clip // .antiAliasWithSaveLayer, // context: context, // builder: (context) { // return bsheet( // publication_data[ // index]); // }, // ); // }, // cells: [ // DataCell(Text( // publication_data[ // index] // [ // 'artical_title'] // .toString(), // softWrap: true)), // DataCell(Text( // publication_data[ // index] // ['author'] // .toString(), // softWrap: true)), // ], // ), // ), // ), // ), // ), // ), // Container( // color: Colors.white, // child: Align( // alignment: Alignment.center, // child: Padding( // padding: // const EdgeInsets.all(8.0), // child: OutlinedButton( // onPressed: () { // // Navigator.push( // // context, // // MaterialPageRoute( // // builder: (_) => // // PublicationsData())); // }, // child: Text( // 'Show More', // style: TextStyle( // color: Constants // .k2color), // ), // style: OutlinedButton // .styleFrom( // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius // .circular(12), // ), // ), // ), // ), // ), // ) // ]), // ), // ), // ), // ), // adds spacing between the text and image ////////////////////////////////////////////// // ListTileTheme( // dense: true, // child: Padding( // padding: const EdgeInsets.only(left: 8.0, right: 8.0), // child: Card( // margin: EdgeInsets.all(1.0), // // elevation: 5, // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(0.0), // ), // color: Constants.k2color11, // child: ExpansionTile( // initiallyExpanded: false, // maintainState: true, // // backgroundColor: Colors.white, // // collapsedBackgroundColor: Color(0xFF2b9af3), // onExpansionChanged: (bool expanded) { // setState(() { // _isExpanded = expanded; // }); // }, // backgroundColor: Constants.k2color11, // trailing: Icon( // _isExpanded // ? Icons.keyboard_arrow_up // : Icons.keyboard_arrow_down, // color: Colors.black), // title: Row( // mainAxisAlignment: MainAxisAlignment.start, // // mainAxisSize: MainAxisSize.min, // children: [ // Text1( // title: "Training", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 16.0), // const SizedBox( // width: 8.0, // ), // Text1( // title: "(3)", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 16.0), // ], // ), // children: [ // Scrollbar( // child: SingleChildScrollView( // scrollDirection: Axis.horizontal, // child: Container( // constraints: BoxConstraints( // minWidth: MediaQuery.of(context).size.width), // color: Colors.white, // child: DataTable( // showCheckboxColumn: false, // columns: const [ // DataColumn( // label: Expanded( // child: Text('Institute Name', // style: TextStyle( // fontWeight: FontWeight.w600), // softWrap: true), // )), // DataColumn( // label: Expanded( // child: Text('Degree', // style: TextStyle( // fontWeight: FontWeight.w600)))), // ], // rows: List.generate( // publication_data.length, // (index) => DataRow( // onSelectChanged: (value) { // print("message ${publication_data[index]}"); // showModalBottomSheet( // useRootNavigator: true, // isScrollControlled: false, // enableDrag: true, // useSafeArea: true, // constraints: const BoxConstraints( // maxWidth: double.infinity, // ), // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.vertical( // top: Radius.circular(0), // ), // ), // clipBehavior: Clip.antiAliasWithSaveLayer, // context: context, // builder: (context) { // return bsheet(publication_data[index]); // }, // ); // }, // cells: [ // DataCell(Text( // publication_data[index]['artical_title'] // .toString(), // softWrap: true)), // DataCell(Text( // publication_data[index]['author'] // .toString(), // softWrap: true)), // ], // ), // ), // ), // ), // ), // ), // Container( // color: Colors.white, // child: Align( // alignment: Alignment.center, // child: Padding( // padding: const EdgeInsets.all(8.0), // child: OutlinedButton( // onPressed: () { // // Navigator.push( // // context, // // MaterialPageRoute( // // builder: (_) => // // PublicationsData())); // }, // child: Text( // 'Show More', // style: TextStyle(color: Constants.k2color), // ), // style: OutlinedButton.styleFrom( // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(12), // ), // ), // ), // ), // ), // ) // ]), // ), // ), // ), // adds spacing between the text and image // //////////////////////////////////////////////////// // ListTileTheme( // dense: true, // child: Padding( // padding: const EdgeInsets.only( // left: 8.0, right: 8.0), // child: Container( // child: Card( // margin: EdgeInsets.all(1.0), // // elevation: 5, // shape: RoundedRectangleBorder( // borderRadius: // BorderRadius.circular(0.0), // ), // color: Constants.k2color11, // child: ExpansionTile( // backgroundColor: Constants.k2color11, // initiallyExpanded: false, // maintainState: true, // // backgroundColor: Colors.white, // // collapsedBackgroundColor: Color(0xFF2b9af3), // onExpansionChanged: (bool expanded) { // setState(() { // _isExpanded = expanded; // }); // }, // trailing: Icon( // _isExpanded // ? Icons.keyboard_arrow_up // : Icons.keyboard_arrow_down, // color: Colors.black), // title: Row( // mainAxisAlignment: // MainAxisAlignment.start, // // mainAxisSize: MainAxisSize.min, // children: [ // Text1( // title: "Case", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 16.0), // const SizedBox( // width: 8.0, // ), // Text1( // title: "(3)", // txtcolor: Colors.black, // fontweight: FontWeight.normal, // txtfont: 16.0), // ], // ), // children: [ // Scrollbar( // child: SingleChildScrollView( // scrollDirection: // Axis.horizontal, // child: Container( // constraints: BoxConstraints( // minWidth: // MediaQuery.of(context) // .size // .width), // color: Colors.white, // child: DataTable( // showCheckboxColumn: false, // columns: const [ // DataColumn( // label: Expanded( // child: Text('Name', // style: TextStyle( // fontWeight: // FontWeight // .w600), // softWrap: true), // )), // DataColumn( // label: Expanded( // child: Text( // 'Type', // style: TextStyle( // fontWeight: // FontWeight // .w600)))), // ], // rows: List.generate( // publication_data.length, // (index) => DataRow( // onSelectChanged: // (value) { // print( // "message ${publication_data[index]}"); // showModalBottomSheet( // useRootNavigator: // true, // isScrollControlled: // false, // enableDrag: true, // useSafeArea: true, // constraints: // const BoxConstraints( // maxWidth: double // .infinity, // ), // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius // .vertical( // top: Radius // .circular( // 0), // ), // ), // clipBehavior: Clip // .antiAliasWithSaveLayer, // context: context, // builder: (context) { // return bsheet( // publication_data[ // index]); // }, // ); // }, // cells: [ // DataCell(Text( // publication_data[ // index] // [ // 'artical_title'] // .toString(), // softWrap: true)), // DataCell(Text( // publication_data[ // index] // ['author'] // .toString(), // softWrap: true)), // ], // ), // ), // ), // ), // ), // ), // Container( // color: Colors.white, // child: Align( // alignment: Alignment.center, // child: Padding( // padding: // const EdgeInsets.all(8.0), // child: OutlinedButton( // onPressed: () { // // Navigator.push( // // context, // // MaterialPageRoute( // // builder: (_) => // // PublicationsData())); // }, // child: Text( // 'Show More', // style: TextStyle( // color: Constants // .k2color), // ), // style: OutlinedButton // .styleFrom( // shape: // RoundedRectangleBorder( // borderRadius: // BorderRadius // .circular(12), // ), // ), // ), // ), // ), // ) // ]), // ), // ), // ), // ), // adds spacing between the text and image ], ), ); } Future getCount(String form, InteractionProvider provider) async { await provider.getRecords(); return provider.savedList.where((element) => element.form == form).length; } showDeleteRecordAlertDialog( BuildContext context, String record, SaveInteraction saveInteraction) { // set up the buttons ViewInteractionProvider provider = Provider.of(context, listen: false); Widget cancelButton = TextButton( child: const Text("YES"), onPressed: () async { await provider.deleteRecord(saveInteraction).then((value) { _displaySnackBar("Deleted sucessfully!"); Navigator.of(context).pop(); }); }, ); Widget continueButton = TextButton( child: const Text("NO"), onPressed: () { Navigator.of(context).pop(); }, ); // set up the AlertDialog AlertDialog alert = AlertDialog( title: const Text(""), content: Text("Are you sure you want to delete the record $record ?"), actions: [ cancelButton, continueButton, ], ); // show the dialog showDialog( context: context, builder: (BuildContext context) { return alert; }, ); } _displaySnackBar(String msg) { final snackBar = SnackBar( content: Text( msg, style: const TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold), )); ScaffoldMessenger.of(context).showSnackBar(snackBar); //scaffoldKeyLogin.currentState!.showSnackBar(snackBar); } }