isrequireddone

This commit is contained in:
poojakhatawate 2024-06-27 14:08:43 +05:30
parent c6ade88f27
commit 699f242550
17 changed files with 3043 additions and 399 deletions

View File

@ -15,24 +15,9 @@ migration:
- platform: root
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: android
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: ios
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: linux
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: macos
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: web
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: windows
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
# User provided section

115
lib/hive_fun.dart Normal file
View File

@ -0,0 +1,115 @@
import 'package:hive_flutter/hive_flutter.dart';
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 final apihcpdata = Hive.box("hcpdata");
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 {
"id": value["id"],
"name": value["name"],
"org": value["org"],
"addr": value["addr"],
"phone": value["phone"],
"phone_no": value["phone_no"],
"email": value["email"],
"affiliations_count": value["affiliations_count"],
"events_count": value["events_count"],
"publications_count": value["publications_count"],
"trail_count": value["trail_count"],
"summarry": value["summarry"],
"license_no": value["license_no"],
"p_suffix": value["p_suffix"],
"speciality": value["speciality"],
"sub_speciality": value["sub_speciality"]
};
}).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;
}
static storehcpdata(Map data) {
apihcpdata.add(data);
}
static gethcpdata() {
return apihcpdata.values;
}
static Future<List> getindexUser(String text) async {
print("Text_issssssS: $text");
// final value = _contactbox.get(int.parse(text));
// print("Checking_Name1111 : $value");
// final data = _contactbox.keys.map((key) {
// var contactBox =
// await Hive.openBox('contacts'); // Replace 'contacts' with your box name
final value = _contactbox.values;
print("Checking_Name : $value");
print("Checking_Name : ${value.contains(text)}");
// final dataa = value.get(text);
// 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();
// print("Check_data_is: $data");
return value.toList();
}
}

View File

@ -1,3 +1,5 @@
import 'package:discover_module/provider_class/hcp%20_provider.dart';
import 'package:discover_module/provider_class/single_hcpprovider.dart';
import 'package:discover_module/ui_screen/contacts.dart';
import 'package:discover_module/ui_screen/discover.dart';
import 'package:discover_module/ui_screen/interactionform/interactionprovider.dart';
@ -51,10 +53,14 @@ Future<void> main() async {
await Hive.openBox('checkvalue');
await Hive.openBox('hcpdata');
runApp(MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => InteractionProvider()),
ChangeNotifierProvider(create: (_) => ViewInteractionProvider()),
ChangeNotifierProvider(create: (_) => hcpProvider()),
ChangeNotifierProvider(create: (_) => Singlehcpdetails()),
//ChangeNotifierProvider(create: (_) => ConfigDataProvider()),
ChangeNotifierProvider<HiveDataRepository>(
create: (_) => HiveDataRepository(

View File

@ -0,0 +1,99 @@
// To parse this JSON data, do
//
// final table = tableFromJson(jsonString);
import 'dart:convert';
List<Table> tableFromJson(String str) =>
List<Table>.from(json.decode(str).map((x) => Table.fromJson(x)));
String tableToJson(List<Table> data) =>
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class Table {
int id;
String name;
String email;
DateTime emailVerifiedAt;
String summarry;
String addr;
int licenseNo;
String pSuffix;
String speciality;
String subSpeciality;
int phoneNo;
int rank;
int score;
DateTime? createdAt;
DateTime? updatedAt;
int eventsCount;
int affiliationsCount;
int publicationsCount;
Table({
required this.id,
required this.name,
required this.email,
required this.emailVerifiedAt,
required this.summarry,
required this.addr,
required this.licenseNo,
required this.pSuffix,
required this.speciality,
required this.subSpeciality,
required this.phoneNo,
required this.rank,
required this.score,
required this.createdAt,
required this.updatedAt,
required this.eventsCount,
required this.affiliationsCount,
required this.publicationsCount,
});
factory Table.fromJson(Map<String, dynamic> json) => Table(
id: json["id"],
name: json["name"],
email: json["email"],
emailVerifiedAt: DateTime.parse(json["email_verified_at"]),
summarry: json["summarry"],
addr: json["addr"],
licenseNo: json["license_no"],
pSuffix: json["p_suffix"],
speciality: json["speciality"],
subSpeciality: json["sub_speciality"],
phoneNo: json["phone_no"],
rank: json["rank"],
score: json["score"],
createdAt: json["created_at"] == null
? null
: DateTime.parse(json["created_at"]),
updatedAt: json["updated_at"] == null
? null
: DateTime.parse(json["updated_at"]),
eventsCount: json["events_count"],
affiliationsCount: json["affiliations_count"],
publicationsCount: json["publications_count"],
);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"email": email,
"email_verified_at": emailVerifiedAt.toIso8601String(),
"summarry": summarry,
"addr": addr,
"license_no": licenseNo,
"p_suffix": pSuffix,
"speciality": speciality,
"sub_speciality": subSpeciality,
"phone_no": phoneNo,
"rank": rank,
"score": score,
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
"events_count": eventsCount,
"affiliations_count": affiliationsCount,
"publications_count": publicationsCount,
};
}

View File

@ -0,0 +1,82 @@
// To parse this JSON data, do
//
// final userdetails = userdetailsFromJson(jsonString);
import 'dart:convert';
Userdetails userdetailsFromJson(String str) =>
Userdetails.fromJson(json.decode(str));
String userdetailsToJson(Userdetails data) => json.encode(data.toJson());
class Userdetails {
int id;
String name;
String email;
DateTime emailVerifiedAt;
String summarry;
String addr;
int licenseNo;
String pSuffix;
String speciality;
String subSpeciality;
int phoneNo;
int rank;
int score;
dynamic createdAt;
dynamic updatedAt;
Userdetails({
required this.id,
required this.name,
required this.email,
required this.emailVerifiedAt,
required this.summarry,
required this.addr,
required this.licenseNo,
required this.pSuffix,
required this.speciality,
required this.subSpeciality,
required this.phoneNo,
required this.rank,
required this.score,
required this.createdAt,
required this.updatedAt,
});
factory Userdetails.fromJson(Map<String, dynamic> json) => Userdetails(
id: json["id"],
name: json["name"],
email: json["email"],
emailVerifiedAt: DateTime.parse(json["email_verified_at"]),
summarry: json["summarry"],
addr: json["addr"],
licenseNo: json["license_no"],
pSuffix: json["p_suffix"],
speciality: json["speciality"],
subSpeciality: json["sub_speciality"],
phoneNo: json["phone_no"],
rank: json["rank"],
score: json["score"],
createdAt: json["created_at"],
updatedAt: json["updated_at"],
);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"email": email,
"email_verified_at": emailVerifiedAt.toIso8601String(),
"summarry": summarry,
"addr": addr,
"license_no": licenseNo,
"p_suffix": pSuffix,
"speciality": speciality,
"sub_speciality": subSpeciality,
"phone_no": phoneNo,
"rank": rank,
"score": score,
"created_at": createdAt,
"updated_at": updatedAt,
};
}

View File

@ -0,0 +1,10 @@
import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
class NetworkConnectivity {
Future<bool> isInternetAvailable() async {
var connectivityResult = await (Connectivity().checkConnectivity());
return connectivityResult != ConnectivityResult.none;
}
}

View File

@ -0,0 +1,18 @@
import 'package:discover_module/service.dart/service.dart';
import 'package:flutter/foundation.dart';
class hcpProvider extends ChangeNotifier {
final apicall = Callapi();
List _list = [];
List get list => _list;
getHCPProvider() async {
final jsondata = await apicall.getallhcpdata();
_list = jsondata;
notifyListeners();
}
}

View File

@ -0,0 +1,22 @@
import 'package:discover_module/model_class/single_hcpinfo.dart';
import 'package:discover_module/service.dart/service.dart';
import 'package:flutter/foundation.dart';
class Singlehcpdetails extends ChangeNotifier {
final apicall = Callapi();
List<Userdetails> _singlehcplist = [];
List<Userdetails> get singlehcpinfo => _singlehcplist;
Future<void> hcpinfo() async {
final getdata = await apicall.getsinglehcpdata();
print("Provider_data: $getdata");
// _singlehcplist = getdata;
_singlehcplist.add(Userdetails.fromJson(getdata));
notifyListeners();
}
}

26
lib/row_class.dart Normal file
View File

@ -0,0 +1,26 @@
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;
}

View File

@ -0,0 +1,58 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:discover_module/hive_fun.dart';
import 'package:hive_flutter/hive_flutter.dart';
class Callapi {
getallhcpdata() async {
// const url = 'http://127.0.0.1:8000/api/users';
const url = 'http://127.0.0.1:8001/api/users';
final response = await Dio().get(url);
final jsonresponse = response.data;
// final apihcpdata = Hive.box("hcpdata");
// if (apihcpdata.isNotEmpty) {
// apihcpdata.clear();
// }
print("alldata_is: , ${jsonresponse} ${jsonresponse.length}");
for (int i = 0; i < jsonresponse.length; i++) {
print("hcp:data_is: , ${jsonresponse[i]['email']}");
HiveFunctions.storehcpdata({
"id": jsonresponse[i]['id'],
"name": jsonresponse[i]['name'],
"email": jsonresponse[i]['email'],
"sumry": jsonresponse[i]['summarry'],
"addr": jsonresponse[i]['addr'],
"licno": jsonresponse[i]['license_no'],
"suffix": jsonresponse[i]['p_suffix'],
"spl": jsonresponse[i]['speciality'],
"sub_sp": jsonresponse[i]['sub_speciality'],
"phone_no": jsonresponse[i]['phone_no'],
"rank": jsonresponse[i]['rank'],
"score": jsonresponse[i]['score'],
"events_count": jsonresponse[i]['events_count'],
"affiliations_count": jsonresponse[i]['affiliations_count'],
"publications_count": jsonresponse[i]['publications_count'],
});
}
return jsonresponse;
}
getsinglehcpdata() async {
// const url = 'http://127.0.0.1:8000/api/users/1';
const url = 'http://127.0.0.1:8001/api/users/1';
final responsehcp = await Dio().post(url);
final jsonresponse1 = responsehcp.data;
// final List<dynamic> Json = json.decode(responsehcp.data);
print("Singlejsondata : ${jsonresponse1}");
return jsonresponse1;
}
}

View File

@ -1,3 +1,5 @@
import 'package:discover_module/hive_fun.dart';
import 'package:discover_module/provider_class/hcp%20_provider.dart';
import 'package:discover_module/ui_screen/profile.dart';
import 'package:discover_module/ui_screen/ranking.dart';
import 'package:flutter/cupertino.dart';
@ -6,6 +8,7 @@ import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_profile_picture/flutter_profile_picture.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:provider/provider.dart';
class Contacts extends StatefulWidget {
const Contacts({super.key});
@ -21,6 +24,16 @@ class _ContactsState extends State<Contacts> {
bool _switchValue = false;
// List<dynamic> alldata = _contactbox.values.toList();
@override
void initState() {
// TODO: implement initState
super.initState();
getcall();
}
void getcall() async {
await Provider.of<hcpProvider>(context, listen: false).getHCPProvider();
}
@override
Widget build(BuildContext context) {
@ -37,117 +50,168 @@ class _ContactsState extends State<Contacts> {
// appBar: AppBar(
// title: const Text('Contacts'),
// ),
body: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment
.center, // Align children to start and end of the row
body: Consumer<hcpProvider>(builder: (context, value, child) {
print("todoss: ${value},${value.list.length}");
return Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment
.center, // Align children to start and end of the row
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 45.0),
child: Text(
_switchValue ? "My Contacts" : "All Contacts",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w500,
fontStyle: FontStyle.normal,
color: _switchValue ? Colors.black : Colors.black),
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 45.0),
child: Text(
_switchValue ? "My Contacts" : "All Contacts",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w500,
fontStyle: FontStyle.normal,
color:
_switchValue ? Colors.black : Colors.black),
),
),
),
),
// Expanded(
Row(
// Adjust alignment as needed
mainAxisSize: MainAxisSize.min,
children: [
_switchValue
? const Text(
'All',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
// TODO: implement dispose
)
: const Text('All',
style: TextStyle(
fontSize: 12,
)),
CupertinoSwitch(
activeColor: Color.fromARGB(255, 0, 71, 132),
value: _switchValue,
onChanged: (value) {
setState(() {
print("Switch_value_is : $value");
_switchValue = value;
});
},
),
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: !_switchValue
// Expanded(
Row(
// Adjust alignment as needed
mainAxisSize: MainAxisSize.min,
children: [
_switchValue
? const Text(
'My',
'All',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
// TODO: implement dispose
)
: const Text('My',
: const Text('All',
style: TextStyle(
fontSize: 12,
)),
)
],
),
// ),
]),
Expanded(
child: ListView.builder(
itemCount: HiveFunctions.getAllUsers().length,
itemBuilder: (BuildContext context, int index) {
var data = HiveFunctions.getAllUsers()[index];
CupertinoSwitch(
activeColor: Color.fromARGB(255, 0, 71, 132),
value: _switchValue,
onChanged: (value) {
setState(() {
print("Switch_value_is : $value");
_switchValue = value;
});
},
),
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: !_switchValue
? const Text(
'My',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
)
: const Text('My',
style: TextStyle(
fontSize: 12,
)),
)
],
),
// ),
]),
print("dataaaa_isss:$data");
Expanded(
child: ListView.builder(
itemCount: value.list.length,
itemBuilder: (BuildContext context, int index) {
// var data = HiveFunctions.getAllUsers()[index];
var data = value.list[index];
return Column(
children: [
ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Profile()));
},
// title: Text(_contactbox.values.toString()),
leading: ProfilePicture(
name: data["name"],
radius: 20,
fontsize: 12,
print("dataaaa_isss:$data");
return Column(
children: [
ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Profile(
text: data,
)));
},
// title: Text(_contactbox.values.toString()),
leading: ProfilePicture(
name: data["name"],
radius: 20,
fontsize: 12,
),
title: Text(
data["name"],
style: const TextStyle(
fontSize: 18.0, fontWeight: FontWeight.bold),
),
subtitle: const Text(
"Added by Pooja.K",
style: TextStyle(
fontSize: 14.0, fontWeight: FontWeight.normal),
),
),
title: Text(
data["name"],
style: const TextStyle(
fontSize: 18.0, fontWeight: FontWeight.bold),
),
subtitle: const Text(
"Added by Pooja.K",
style: TextStyle(
fontSize: 14.0, fontWeight: FontWeight.normal),
),
),
],
);
},
],
);
},
),
),
),
],
),
///////////////////////////////////////////////
// Expanded(
// child: ListView.builder(
// itemCount: HiveFunctions.getAllUsers().length,
// itemBuilder: (BuildContext context, int index) {
// var data = HiveFunctions.getAllUsers()[index];
// print("dataaaa_isss:$data");
// return Column(
// children: [
// ListTile(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => Profile(
// text: data,
// )));
// },
// // title: Text(_contactbox.values.toString()),
// leading: ProfilePicture(
// name: data["name"],
// radius: 20,
// fontsize: 12,
// ),
// title: Text(
// data["name"],
// style: const TextStyle(
// fontSize: 18.0, fontWeight: FontWeight.bold),
// ),
// subtitle: const Text(
// "Added by Pooja.K",
// style: TextStyle(
// fontSize: 14.0, fontWeight: FontWeight.normal),
// ),
// ),
// ],
// );
// },
// ),
// ),
],
);
}),
),
);
}

View File

@ -1,6 +1,6 @@
import 'dart:convert';
import 'dart:io';
import 'dart:js_interop';
// import 'dart:js_interop';
// import 'dart:js_util';
import 'package:discover_module/constants.dart';

View File

@ -92,9 +92,9 @@ class _DataTableDemoState extends State<DataTableDemo> {
}
class _Row {
_Row(this.valueA, this.valueB, this.valueC, this.valueD, this.valueE,
this.valueF, this.valueG, this.valueH, this.valueI);
_Row(this.identifier, this.valueA, this.valueB, this.valueC, this.valueD,
this.valueE, this.valueF, this.valueG, this.valueH, this.valueI);
final String identifier;
final String valueA;
final String valueB;
final String valueC;
@ -135,7 +135,8 @@ class _DataSource extends DataTableSource {
_rows = <_Row>[
for (int i = 0; i < 20; i++)
_Row('Gerosa, Gino', 'Active', 'Italy', 1, '0', '0', '0', '0', '0'),
_Row('$i', 'Gerosa, Gino', 'Active', 'Italy', 1, '0', '0', '0', '0',
'0'),
];
//}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,521 @@
// 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;
@ -12,9 +523,12 @@ 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();
@ -28,6 +542,8 @@ class _RankingState extends State<Ranking> {
void initState() {
super.initState();
print("hii_initState");
gethcpdata();
_dataSource = _DataSource(context); // Initialize _DataSource
}
@ -161,8 +677,12 @@ class _RankingState extends State<Ranking> {
} else {
for (int i = 0; i < selectedRowIds.length; i++) {
print('The id id : ${selectedRowIds[i]}');
//List<_Row> _rows = [];
print("checking_value_istrends: ${selectedRowIds[i]}");
final row = _rows[selectedRowIds[i] - 1];
print(
"checking_value_istrends: ${selectedRowIds[i]},${row.valueA}");
// selectedno.add(selectedRowIds[i]);
@ -171,16 +691,22 @@ class _RankingState extends State<Ranking> {
// _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"
"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(
@ -281,13 +807,6 @@ class _RankingState extends State<Ranking> {
//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");
@ -316,88 +835,100 @@ class _RankingState extends State<Ranking> {
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;
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(
this.identifier,
this.valueA,
this.valueC,
this.valueD,
this.valueE,
this.valueF,
this.valueG,
this.valueH,
this.valueI,
this.selected, // Add selected parameter
);
_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;
@ -408,23 +939,33 @@ class _Row {
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;
late List<_Row> _rows;
// List<_Row> _rows = [];
// late List<int> _selectedRowsIndexes = []; // List to track selected rows
final List<int> _selectedRowIds = [];
List list = [];
_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)),
];
//}
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() {
@ -503,4 +1044,84 @@ class _DataSource extends DataTableSource {
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();
}
}
}

View File

@ -1,5 +1,6 @@
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/ui_screen/ranking.dart';
import 'package:flutter/material.dart';

View File

@ -1,5 +1,6 @@
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/ui_screen/ranking.dart';
import 'package:flutter/material.dart';