2216 lines
76 KiB
Dart
2216 lines
76 KiB
Dart
// // 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/ui_screen/contacts.dart';
|
|
// // import 'package:discover_module/ui_screen/profile.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:syncfusion_flutter_xlsio/xlsio.dart';
|
|
// // import 'package:universal_html/html.dart' show AnchorElement;
|
|
|
|
// // class Ranking extends StatefulWidget {
|
|
// // @override
|
|
// // State<Ranking> createState() => _RankingState();
|
|
// // }
|
|
|
|
// // class _RankingState extends State<Ranking> {
|
|
// // late _DataSource _dataSource;
|
|
|
|
// // List<int> selectedno = [];
|
|
// // @override
|
|
// // void initState() {
|
|
// // super.initState();
|
|
// // print("hii_initState");
|
|
// // _dataSource = _DataSource(context); // Initialize _DataSource
|
|
// // }
|
|
|
|
// // @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<int> 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]}');
|
|
|
|
// // print("checking_value_istrends: ${selectedRowIds[i]}");
|
|
|
|
// // // selectedno.add(selectedRowIds[i]);
|
|
|
|
// // HiveFunctions.addno(selectedRowIds[i]);
|
|
|
|
// // // _contactbox.put(i, selectedRowIds[i]);
|
|
|
|
// // HiveFunctions.createUser({
|
|
// // "name": "Gerosa,Gino",
|
|
// // "org": "Azienda Ospedaliera di Padova",
|
|
// // "adrr": "Via Giustiniani 2, Padova, Veneto 35128, Italy",
|
|
// // "phone": "+390498212410X12",
|
|
// // "Pphone": "+390498212410X12",
|
|
// // "email": "Gerosa,Gino@gmail.com",
|
|
// // "affno": "75",
|
|
// // "eveno": "8",
|
|
// // "pubno": "251",
|
|
// // "trailno": "1"
|
|
// // });
|
|
// // }
|
|
// // showDialog(
|
|
// // context: context,
|
|
// // builder: (_) {
|
|
// // return Alert(
|
|
// // data: "User Added Successfully",
|
|
// // onPressed: () {
|
|
// // Navigator.of(context).pop();
|
|
// // // Navigator.push(context,
|
|
// // // MaterialPageRoute(builder: (_) => Contacts()));
|
|
// // },
|
|
// // );
|
|
// // });
|
|
// // }
|
|
// // },
|
|
// // )),
|
|
// // ),
|
|
// // );
|
|
// // }
|
|
|
|
// // Future<void> _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';
|
|
|
|
// // //Apply GlobalStyle
|
|
// // // sheet.getRangeByName('A1:D1').cellStyle = globalStyle;
|
|
|
|
// // // //Apply GlobalStyle1
|
|
// // // sheet.getRangeByName('B2:D4').cellStyle = globalStyle1;
|
|
// // //////////////////////////////////////////////////////////////////////////////
|
|
|
|
// // final List<int> 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);
|
|
// // }
|
|
// // }
|
|
// // }
|
|
|
|
// // class HiveFunctions {
|
|
// // // String userHiveBox="User Box";
|
|
// // // Box which will use to store the things
|
|
// // static final _contactbox = Hive.box("mycontact");
|
|
// // static var box1 = Hive.box('checkvalue');
|
|
|
|
// // static createUser(Map data) {
|
|
// // _contactbox.add(data);
|
|
// // }
|
|
|
|
// // static List getAllUsers() {
|
|
// // final data = _contactbox.keys.map((key) {
|
|
// // final value = _contactbox.get(key);
|
|
// // print("Checking_Name : $value");
|
|
// // return {
|
|
// // "name": value["name"],
|
|
// // "org": value["org"],
|
|
// // "adrr": value["adrr"],
|
|
// // "phone": value["phone"],
|
|
// // "Pphone": value["Pphone"],
|
|
// // "email": value["email"],
|
|
// // "affno": value["affno"],
|
|
// // "eveno": value["eveno"],
|
|
// // "pubno": value["pubno"],
|
|
// // "trailno": value["trailno"]
|
|
// // };
|
|
// // }).toList();
|
|
|
|
// // return data.reversed.toList();
|
|
// // }
|
|
|
|
// // static List getindexUsers() {
|
|
// // final data = _contactbox.keys.map((key) {
|
|
// // final value = _contactbox.get(key);
|
|
// // print("Checking_Name : $value");
|
|
// // return {
|
|
// // "name": value["name"],
|
|
// // "org": value["org"],
|
|
// // "adrr": value["adrr"],
|
|
// // "phone": value["phone"],
|
|
// // "Pphone": value["Pphone"],
|
|
// // "email": value["email"],
|
|
// // "affno": value["affno"],
|
|
// // "eveno": value["eveno"],
|
|
// // "pubno": value["pubno"],
|
|
// // "trailno": value["trailno"]
|
|
// // };
|
|
// // }).toList();
|
|
|
|
// // return data.reversed.toList();
|
|
// // }
|
|
|
|
// // static addno(int selectedRowId) {
|
|
// // // final box1 = Hive.box("mycontact");
|
|
|
|
// // print("SelectedStoredvaluessss: $selectedRowId");
|
|
|
|
// // box1.add(selectedRowId);
|
|
// // }
|
|
|
|
// // static getno() {
|
|
// // // final box1 = Hive.box("mycontact");
|
|
|
|
// // return box1.values;
|
|
// // }
|
|
// // }
|
|
|
|
// // class _Row {
|
|
// // _Row(
|
|
// // this.identifier,
|
|
// // this.valueA,
|
|
// // this.valueC,
|
|
// // this.valueD,
|
|
// // this.valueE,
|
|
// // this.valueF,
|
|
// // this.valueG,
|
|
// // this.valueH,
|
|
// // this.valueI,
|
|
// // this.selected, // 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;
|
|
// // }
|
|
|
|
// // class _DataSource extends DataTableSource {
|
|
// // final BuildContext context;
|
|
// // late List<_Row> _rows;
|
|
// // // late List<int> _selectedRowsIndexes = []; // List to track selected rows
|
|
// // final List<int> _selectedRowIds = [];
|
|
|
|
// // _DataSource(this.context) {
|
|
// // _rows = <_Row>[
|
|
// // for (int i = 0; i < 20; i++)
|
|
// // _Row(
|
|
// // i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
|
|
// // ];
|
|
// // //}
|
|
// // }
|
|
|
|
// // List<int> 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.valueA}");
|
|
|
|
// // 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;
|
|
// // }
|
|
// // }
|
|
|
|
// 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:discover_module/ui_screen/profile.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 = [];
|
|
|
|
// class Ranking extends StatefulWidget {
|
|
// @override
|
|
// State<Ranking> createState() => _RankingState();
|
|
// }
|
|
|
|
// class _RankingState extends State<Ranking> {
|
|
// late _DataSource _dataSource;
|
|
|
|
// List<int> selectedno = [];
|
|
// @override
|
|
// void initState() {
|
|
// super.initState();
|
|
// print("hii_initState");
|
|
|
|
// gethcpdata();
|
|
// _dataSource = _DataSource(context); // Initialize _DataSource
|
|
// }
|
|
|
|
// @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<int> 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<void> _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<int> 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<hcpProvider>(context, listen: false);
|
|
// }
|
|
// }
|
|
|
|
// // class HiveFunctions {
|
|
// // // String userHiveBox="User Box";
|
|
// // // Box which will use to store the things
|
|
// // static final _contactbox = Hive.box("mycontact");
|
|
// // static var box1 = Hive.box('checkvalue');
|
|
|
|
// // static createUser(Map data) {
|
|
// // _contactbox.add(data);
|
|
// // }
|
|
|
|
// // static List getAllUsers() {
|
|
// // final data = _contactbox.keys.map((key) {
|
|
// // final value = _contactbox.get(key);
|
|
// // print("Checking_Name : $value");
|
|
// // return {
|
|
// // "name": value["name"],
|
|
// // "org": value["org"],
|
|
// // "adrr": value["adrr"],
|
|
// // "phone": value["phone"],
|
|
// // "Pphone": value["Pphone"],
|
|
// // "email": value["email"],
|
|
// // "affno": value["affno"],
|
|
// // "eveno": value["eveno"],
|
|
// // "pubno": value["pubno"],
|
|
// // "trailno": value["trailno"]
|
|
// // };
|
|
// // }).toList();
|
|
|
|
// // return data.reversed.toList();
|
|
// // }
|
|
|
|
// // static List getindexUsers() {
|
|
// // final data = _contactbox.keys.map((key) {
|
|
// // final value = _contactbox.get(key);
|
|
// // print("Checking_Name : $value");
|
|
// // return {
|
|
// // "name": value["name"],
|
|
// // "org": value["org"],
|
|
// // "adrr": value["adrr"],
|
|
// // "phone": value["phone"],
|
|
// // "Pphone": value["Pphone"],
|
|
// // "email": value["email"],
|
|
// // "affno": value["affno"],
|
|
// // "eveno": value["eveno"],
|
|
// // "pubno": value["pubno"],
|
|
// // "trailno": value["trailno"]
|
|
// // };
|
|
// // }).toList();
|
|
|
|
// // return data.reversed.toList();
|
|
// // }
|
|
|
|
// // static addno(int selectedRowId) {
|
|
// // // final box1 = Hive.box("mycontact");
|
|
|
|
// // print("SelectedStoredvaluessss: $selectedRowId");
|
|
|
|
// // box1.add(selectedRowId);
|
|
// // }
|
|
|
|
// // static getno() {
|
|
// // // final box1 = Hive.box("mycontact");
|
|
|
|
// // return box1.values;
|
|
// // }
|
|
// // }
|
|
|
|
// 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<int> _selectedRowsIndexes = []; // List to track selected rows
|
|
// final List<int> _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<int> 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<void> render_hcpdata() async {
|
|
// NetworkConnectivity networkConnectivity = NetworkConnectivity();
|
|
// bool isOnline = await networkConnectivity.isInternetAvailable();
|
|
|
|
// print("RankingPage_isOnline: $isOnline");
|
|
|
|
// if (isOnline) {
|
|
// final hcpdata = Provider.of<hcpProvider>(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();
|
|
// }
|
|
// }
|
|
// }
|
|
/////////////////////////////////////////////////
|
|
///
|
|
// 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/ui_screen/contacts.dart';
|
|
// import 'package:discover_module/ui_screen/profile.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:syncfusion_flutter_xlsio/xlsio.dart';
|
|
// import 'package:universal_html/html.dart' show AnchorElement;
|
|
|
|
// class Ranking extends StatefulWidget {
|
|
// @override
|
|
// State<Ranking> createState() => _RankingState();
|
|
// }
|
|
|
|
// class _RankingState extends State<Ranking> {
|
|
// late _DataSource _dataSource;
|
|
|
|
// List<int> selectedno = [];
|
|
// @override
|
|
// void initState() {
|
|
// super.initState();
|
|
// print("hii_initState");
|
|
// _dataSource = _DataSource(context); // Initialize _DataSource
|
|
// }
|
|
|
|
// @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<int> 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]}');
|
|
|
|
// print("checking_value_istrends: ${selectedRowIds[i]}");
|
|
|
|
// // selectedno.add(selectedRowIds[i]);
|
|
|
|
// HiveFunctions.addno(selectedRowIds[i]);
|
|
|
|
// // _contactbox.put(i, selectedRowIds[i]);
|
|
|
|
// HiveFunctions.createUser({
|
|
// "name": "Gerosa,Gino",
|
|
// "org": "Azienda Ospedaliera di Padova",
|
|
// "adrr": "Via Giustiniani 2, Padova, Veneto 35128, Italy",
|
|
// "phone": "+390498212410X12",
|
|
// "Pphone": "+390498212410X12",
|
|
// "email": "Gerosa,Gino@gmail.com",
|
|
// "affno": "75",
|
|
// "eveno": "8",
|
|
// "pubno": "251",
|
|
// "trailno": "1"
|
|
// });
|
|
// }
|
|
// showDialog(
|
|
// context: context,
|
|
// builder: (_) {
|
|
// return Alert(
|
|
// data: "User Added Successfully",
|
|
// onPressed: () {
|
|
// Navigator.of(context).pop();
|
|
// // Navigator.push(context,
|
|
// // MaterialPageRoute(builder: (_) => Contacts()));
|
|
// },
|
|
// );
|
|
// });
|
|
// }
|
|
// },
|
|
// )),
|
|
// ),
|
|
// );
|
|
// }
|
|
|
|
// Future<void> _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';
|
|
|
|
// //Apply GlobalStyle
|
|
// // sheet.getRangeByName('A1:D1').cellStyle = globalStyle;
|
|
|
|
// // //Apply GlobalStyle1
|
|
// // sheet.getRangeByName('B2:D4').cellStyle = globalStyle1;
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
// final List<int> 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);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// class HiveFunctions {
|
|
// // String userHiveBox="User Box";
|
|
// // Box which will use to store the things
|
|
// static final _contactbox = Hive.box("mycontact");
|
|
// static var box1 = Hive.box('checkvalue');
|
|
|
|
// static createUser(Map data) {
|
|
// _contactbox.add(data);
|
|
// }
|
|
|
|
// static List getAllUsers() {
|
|
// final data = _contactbox.keys.map((key) {
|
|
// final value = _contactbox.get(key);
|
|
// print("Checking_Name : $value");
|
|
// return {
|
|
// "name": value["name"],
|
|
// "org": value["org"],
|
|
// "adrr": value["adrr"],
|
|
// "phone": value["phone"],
|
|
// "Pphone": value["Pphone"],
|
|
// "email": value["email"],
|
|
// "affno": value["affno"],
|
|
// "eveno": value["eveno"],
|
|
// "pubno": value["pubno"],
|
|
// "trailno": value["trailno"]
|
|
// };
|
|
// }).toList();
|
|
|
|
// return data.reversed.toList();
|
|
// }
|
|
|
|
// static List getindexUsers() {
|
|
// final data = _contactbox.keys.map((key) {
|
|
// final value = _contactbox.get(key);
|
|
// print("Checking_Name : $value");
|
|
// return {
|
|
// "name": value["name"],
|
|
// "org": value["org"],
|
|
// "adrr": value["adrr"],
|
|
// "phone": value["phone"],
|
|
// "Pphone": value["Pphone"],
|
|
// "email": value["email"],
|
|
// "affno": value["affno"],
|
|
// "eveno": value["eveno"],
|
|
// "pubno": value["pubno"],
|
|
// "trailno": value["trailno"]
|
|
// };
|
|
// }).toList();
|
|
|
|
// return data.reversed.toList();
|
|
// }
|
|
|
|
// static addno(int selectedRowId) {
|
|
// // final box1 = Hive.box("mycontact");
|
|
|
|
// print("SelectedStoredvaluessss: $selectedRowId");
|
|
|
|
// box1.add(selectedRowId);
|
|
// }
|
|
|
|
// static getno() {
|
|
// // final box1 = Hive.box("mycontact");
|
|
|
|
// return box1.values;
|
|
// }
|
|
// }
|
|
|
|
// class _Row {
|
|
// _Row(
|
|
// this.identifier,
|
|
// this.valueA,
|
|
// this.valueC,
|
|
// this.valueD,
|
|
// this.valueE,
|
|
// this.valueF,
|
|
// this.valueG,
|
|
// this.valueH,
|
|
// this.valueI,
|
|
// this.selected, // 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;
|
|
// }
|
|
|
|
// class _DataSource extends DataTableSource {
|
|
// final BuildContext context;
|
|
// late List<_Row> _rows;
|
|
// // late List<int> _selectedRowsIndexes = []; // List to track selected rows
|
|
// final List<int> _selectedRowIds = [];
|
|
|
|
// _DataSource(this.context) {
|
|
// _rows = <_Row>[
|
|
// for (int i = 0; i < 20; i++)
|
|
// _Row(
|
|
// i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
|
|
// ];
|
|
// //}
|
|
// }
|
|
|
|
// List<int> 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.valueA}");
|
|
|
|
// 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;
|
|
// }
|
|
// }
|
|
|
|
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:discover_module/ui_screen/profile.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<Ranking> createState() => _RankingState();
|
|
}
|
|
|
|
class _RankingState extends State<Ranking> {
|
|
late _DataSource _dataSource;
|
|
|
|
List<int> selectedno = [];
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
print("hii_initState");
|
|
setupConnectivityListener();
|
|
|
|
gethcpdata();
|
|
_dataSource = _DataSource(context); // Initialize _DataSource
|
|
}
|
|
|
|
NetworkConnectivity networkConnectivity = NetworkConnectivity();
|
|
|
|
Future<void> 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));
|
|
|
|
// setState(() {
|
|
// isOnline1 = isOnline;
|
|
// }); // Example: Check every 10 seconds
|
|
}
|
|
}
|
|
|
|
@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<int> 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<void> _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<int> 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<hcpProvider>(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<int> _selectedRowsIndexes = []; // List to track selected rows
|
|
final List<int> _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<int> 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<void> 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<hcpProvider>(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();
|
|
}
|
|
}
|