// import 'dart:convert'; // import 'dart:io'; // // import 'dart:js_interop'; // import 'package:discover_module/custom_widget/floating_btn.dart'; // import 'package:discover_module/custom_widget/show_alert.dart'; // import 'package:discover_module/hive_fun.dart'; // import 'package:discover_module/provider_class/hcp%20_provider.dart'; // import 'package:discover_module/ui_screen/contacts.dart'; // import 'package:discover_module/ui_screen/filters_menu.dart'; // import 'package:discover_module/ui_screen/interactionform/NewtworkConnectivity.dart'; // import 'package:flutter/foundation.dart'; // import 'package:flutter/foundation.dart' show kIsWeb; // import 'package:flutter/material.dart'; // import 'package:hive_flutter/hive_flutter.dart'; // import 'package:open_file/open_file.dart'; // import 'package:path_provider/path_provider.dart'; // import 'package:provider/provider.dart'; // import 'package:syncfusion_flutter_xlsio/xlsio.dart'; // import 'package:universal_html/html.dart' show AnchorElement; // List<_Row> _rows = []; // bool isOnline1 = false; // class Ranking extends StatefulWidget { // @override // State createState() => _RankingState(); // } // class _RankingState extends State { // late _DataSource _dataSource; // List selectedno = []; // @override // void initState() { // super.initState(); // print("hii_initState"); // setupConnectivityListener(); // gethcpdata(); // _dataSource = _DataSource(context); // Initialize _DataSource // } // NetworkConnectivity networkConnectivity = NetworkConnectivity(); // Future setupConnectivityListener() async { // while (true) { // bool isOnline = await networkConnectivity.isInternetAvailable(); // print('Internet available: $isOnline'); // // Perform actions based on connectivity status // await Future.delayed(Duration(seconds: 10)); // } // } // @override // Widget build(BuildContext context) { // return SafeArea( // child: Scaffold( // body: ListView( // padding: const EdgeInsets.all(3), // children: [ // PaginatedDataTable( // header: const Text( // 'HCP RANKING', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 18.0, // fontStyle: FontStyle.normal), // ), // showFirstLastButtons: true, // showEmptyRows: false, // showCheckboxColumn: true, // actions: [ // IconButton( // onPressed: () { // _createExcel(); // }, // icon: const Icon(Icons.download, // color: Color.fromARGB(255, 0, 71, 132))) // ], // rowsPerPage: 5, // columns: const [ // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Name', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Tier', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Rank', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Score', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Event', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Affliations', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Publications', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // DataColumn( // label: FittedBox( // fit: BoxFit.scaleDown, // child: Text('Trails', // style: TextStyle( // fontWeight: FontWeight.bold, // fontSize: 14.0, // fontStyle: FontStyle.normal)), // )), // ], // source: _dataSource, // ), // ], // ), // floatingActionButton: Visibility( // visible: true, // child: FloatingBtn( // icon: Icons.add, // title: "add", // onTap: () async { // List selectedRowIds = _dataSource.getSelectedRowIds(); // // Do something with selectedRowIds // print('Selected Row IDstrndsss: $selectedRowIds'); // if (selectedRowIds.isEmpty) { // showDialog( // context: context, // builder: (_) { // return Alert( // data: "Please Select the user", // onPressed: () { // Navigator.of(context).pop(); // print('OK button pressed'); // }, // ); // }); // } else { // for (int i = 0; i < selectedRowIds.length; i++) { // print('The id id : ${selectedRowIds[i]}'); // //List<_Row> _rows = []; // final row = _rows[selectedRowIds[i] - 1]; // print( // "checking_value_istrends: ${selectedRowIds[i]},${row.valueA}"); // // selectedno.add(selectedRowIds[i]); // // HiveFunctions.addno(selectedRowIds[i]); // // _contactbox.put(i, selectedRowIds[i]); // HiveFunctions.createUser({ // "id": selectedRowIds[i], // "name": row.valueA, // "org": row.org, // "addr": row.addr, // "phone": row.mno, // "phone_no": row.mno, // "email": row.valueC, // "affiliations_count": row.valueG, // "events_count": row.valueF, // "publications_count": row.valueH, // "trail_count": "1", // "summarry": row.smry, // "license_no": row.lin, // "p_suffix": row.suffix, // "speciality": row.spl, // "sub_speciality": row.sub_spl, // }); // } // showDialog( // context: context, // builder: (_) { // return Alert( // data: "User Added Successfully", // onPressed: () { // Navigator.of(context).pop(); // // Navigator.push(context, // // MaterialPageRoute(builder: (_) => Contacts())); // }, // ); // }); // } // }, // )), // ), // ); // } // Future _createExcel() async { // //Create an Excel document. // //Creating a workbook. // final Workbook workbook = Workbook(); // //Accessing via index // final Worksheet sheet = workbook.worksheets[0]; // // sheet.getRangeByName('A1').setText('pooja'); // ///////////////////////////////////////////////////////////////////////////// // sheet.getRangeByName('A1').setText('Name'); // sheet.getRangeByName('A2').setText('Gerosa, Gino'); // sheet.getRangeByName('A3').setText('Gerosa, Gino'); // sheet.getRangeByName('A4').setText('Gerosa, Gino'); // final Style headingStyle = workbook.styles.add('HeadingStyle'); // headingStyle.bold = true; // headingStyle.hAlign = HAlignType.center; // headingStyle.wrapText = true; // sheet.getRangeByName('B1').setText('Tier'); // sheet.getRangeByName('B2').setText("Tier1"); // sheet.getRangeByName('B3').setText("Tier1"); // sheet.getRangeByName('B4').setText("Tier1"); // sheet.getRangeByName('C1').setText('Rank'); // sheet.getRangeByName('C2').setNumber(1); // sheet.getRangeByName('C3').setNumber(1); // sheet.getRangeByName('C4').setNumber(1); // sheet.getRangeByName('D1').setText('Score'); // sheet.getRangeByName('D2').setNumber(0); // sheet.getRangeByName('D3').setNumber(0); // sheet.getRangeByName('D4').setNumber(0); // sheet.getRangeByName('E1').setText('Event'); // sheet.getRangeByName('E2').setNumber(0); // sheet.getRangeByName('E3').setNumber(0); // sheet.getRangeByName('E4').setNumber(0); // sheet.getRangeByName('F1').setText('Affiliations'); // sheet.getRangeByName('F2').setNumber(0); // sheet.getRangeByName('F3').setNumber(0); // sheet.getRangeByName('F4').setNumber(0); // sheet.getRangeByName('G1').setText('Publications'); // sheet.getRangeByName('G2').setNumber(0); // sheet.getRangeByName('G3').setNumber(0); // sheet.getRangeByName('G4').setNumber(0); // sheet.getRangeByName('H1').setText('Trails'); // sheet.getRangeByName('H2').setNumber(0); // sheet.getRangeByName('H3').setNumber(0); // sheet.getRangeByName('H4').setNumber(0); // //Defining a global style with properties. // final Style globalStyle = workbook.styles.add('globalStyle'); // //globalStyle.backColor = '#37D8E9'; // globalStyle.fontName = 'Times New Roman'; // globalStyle.fontSize = 12; // // globalStyle.fontColor = '#C67878'; // globalStyle.fontColor = '#C67878'; // globalStyle.italic = true; // globalStyle.bold = true; // globalStyle.underline = true; // globalStyle.wrapText = true; // globalStyle.hAlign = HAlignType.center; // globalStyle.vAlign = VAlignType.center; // globalStyle.borders.all.lineStyle = LineStyle.thick; // // globalStyle.borders.all.color = '#9954CC'; // final Style globalStyle1 = workbook.styles.add('globalStyle1'); // globalStyle1.fontSize = 14; // // globalStyle1.fontColor = '#362191'; // globalStyle1.hAlign = HAlignType.center; // globalStyle1.vAlign = VAlignType.center; // globalStyle1.borders.bottom.lineStyle = LineStyle.thin; // //globalStyle1.borders.bottom.color = '#829193'; // globalStyle1.numberFormat = '0.00'; // final List bytes = workbook.saveSync(); // print("hii"); // if (kIsWeb) { // AnchorElement( // href: // 'data:application/octet-stream;charset=utf-16le;base64,${base64.encode(bytes)}') // ..setAttribute('download', 'Output.xlsx') // ..click(); // } else { // // final String path = (await getApplicationDocumentsDirectory()).path; // //final directory = await getExternalStorageDirectory(); // Directory? directory = Platform.isAndroid // ? await getExternalStorageDirectory() // : await getApplicationDocumentsDirectory(); // final path = directory!.path; // final String filename = // Platform.isWindows ? '$path\\Output.xlsx' : '$path/Output.xlsx'; // // final String filename = '$path/Output.xlsx'; // final File file = File(filename); // await file.writeAsBytes(bytes, flush: true); // OpenFile.open(filename); // } // } // void gethcpdata() { // // final data = Provider.of(context, listen: false); // } // } // class _Row { // _Row({ // required this.identifier, // required this.valueA, // required this.valueC, // required this.valueD, // required this.valueE, // required this.valueF, // required this.valueG, // required this.valueH, // required this.valueI, // required this.selected, // this.org, // this.mno, // this.smry, // this.lin, // this.suffix, // this.spl, // this.sub_spl, // this.addr, // Add selected parameter // }); // final int identifier; // final String valueA; // final String valueC; // final String valueD; // final String valueE; // final String valueF; // final String valueG; // final String valueH; // final String valueI; // bool selected = false; // String? org; // String? mno; // String? smry; // String? lin; // String? suffix; // String? spl; // String? sub_spl; // String? addr; // } // class _DataSource extends DataTableSource { // final BuildContext context; // // List<_Row> _rows = []; // // late List _selectedRowsIndexes = []; // List to track selected rows // final List _selectedRowIds = []; // List list = []; // _DataSource(this.context) { // render_hcpdata(); // // _rows = <_Row>[ // // for (int i = 0; i < 20; i++) // // _Row( // // i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)), // // ]; // // } // } // List getSelectedRowIds() { // return _selectedRowIds; // Return a copy to prevent direct modification // } // int _selectedCount = 0; // @override // DataRow? getRow(int index) { // assert(index >= 0); // if (index >= _rows.length) return null; // final row = _rows[index]; // return DataRow.byIndex( // index: index, // selected: row.selected, // onSelectChanged: (value) { // if (row.selected != value) { // // _selectedCount += value! ? 1 : -1; // // assert(_selectedCount >= 0); // row.selected = value!; // if (value) { // print("Selected"); // _selectedRowIds.add(row.identifier); // Add the row ID to the list // print("Selected_selectedRowIds :$_selectedRowIds"); // } else { // _selectedRowIds // .remove(row.identifier); // Remove the row ID from the list // } // notifyListeners(); // print("Selectedddd_is $value"); // print("Selectedddd_value ${row.valueA}"); // } // }, // cells: [ // DataCell( // Text(row.valueA), // onTap: () { // print("hiii Data cell tap ${row}"); // // Navigator.push( // // context, MaterialPageRoute(builder: (context) => Profile())); // }, // ), // DataCell(Text(row.valueC)), // DataCell(Text(row.valueD.toString())), // DataCell(Text(row.valueE)), // DataCell(Text(row.valueF)), // DataCell(Text(row.valueG)), // DataCell(Text(row.valueH)), // DataCell(Text(row.valueI)), // ], // ); // } // @override // int get rowCount => _rows.length; // @override // bool get isRowCountApproximate => false; // @override // int get selectedRowCount => _selectedCount; // bool check(int i) { // // print("I_am_i: $i"); // // print("_selectedRowIds_i: ${HiveFunctions.getno()}"); // // //HiveFunctions.getno(); // // if (HiveFunctions.getno().contains(i)) { // // print("Iam_in: $i"); // // return true; // // } // return false; // } // Future render_hcpdata() async { // NetworkConnectivity networkConnectivity = NetworkConnectivity(); // // bool isOnline = await networkConnectivity.isInternetAvailable(); // bool isOnline = await networkConnectivity.isInternetAvailable(); // print('Internet available: $isOnline'); // print("RankingPage_isOnline: $isOnline"); // if (isOnline) { // final hcpdata = Provider.of(context, listen: false); // // await hcpdata.getHCPProvider(); // final hcplist = hcpdata.list; // print("LookingHcpList: $hcplist"); // // _rows = <_Row>[ // // for (int i = 0; i < 20; i++) // // _Row( // // i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)), // // ]; // _rows = hcplist // .map((e) => _Row( // identifier: e['id'], // valueA: e['name'], // valueC: e['email'], // valueD: e['rank'].toString(), // valueE: e['score'].toString(), // valueF: e['events_count'].toString(), // valueG: e['affiliations_count'].toString(), // valueH: e['publications_count'].toString(), // valueI: '0', // selected: check(e['id']), // org: "Aissel", // mno: e['phone_no'].toString(), // smry: e['summarry'], // lin: e['license_no'].toString(), // suffix: e['p_suffix'], // spl: e['speciality'], // sub_spl: e['sub_speciality'], // addr: e['addr'], // )) // .toList(); // notifyListeners(); // } else { // print("get_Storeddata: ${HiveFunctions.gethcpdata()}"); // list = HiveFunctions.gethcpdata().toList(); // // debugPrint(HiveFunctions.gethcpdata()); // // List offlinedata = HiveFunctions.gethcpdata(); // print("offline_data_is: "); // print("offline_data_is: $list"); // _rows = list // .map((e) => _Row( // identifier: e['id'], // valueA: e['name'], // valueC: e['email'], // valueD: e['rank'].toString(), // valueE: e['score'].toString(), // valueF: e['events_count'].toString(), // valueG: e['affiliations_count'].toString(), // valueH: e['publications_count'].toString(), // valueI: '0', // selected: check(e['id']), // org: "Aissel", // mno: e['phone_no'].toString(), // smry: e['sumry'], // lin: e['licno'].toString(), // suffix: e['suffix'], // spl: e['spl'], // sub_spl: e['sub_sp'], // )) // .toList(); // notifyListeners(); // } // } // @override // void dispose() { // // TODO: implement dispose // super.dispose(); // } // }