Compare commits

..

3 Commits

25 changed files with 3803 additions and 1252 deletions

View File

@ -15,24 +15,9 @@ migration:
- platform: root - platform: root
create_revision: 300451adae589accbece3490f4396f10bdf15e6e create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_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 - platform: web
create_revision: 300451adae589accbece3490f4396f10bdf15e6e create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e base_revision: 300451adae589accbece3490f4396f10bdf15e6e
- platform: windows
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
# User provided section # 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/contacts.dart';
import 'package:discover_module/ui_screen/discover.dart'; import 'package:discover_module/ui_screen/discover.dart';
import 'package:discover_module/ui_screen/interactionform/interactionprovider.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('checkvalue');
await Hive.openBox('hcpdata');
runApp(MultiProvider( runApp(MultiProvider(
providers: [ providers: [
ChangeNotifierProvider(create: (_) => InteractionProvider()), ChangeNotifierProvider(create: (_) => InteractionProvider()),
ChangeNotifierProvider(create: (_) => ViewInteractionProvider()), ChangeNotifierProvider(create: (_) => ViewInteractionProvider()),
ChangeNotifierProvider(create: (_) => hcpProvider()),
ChangeNotifierProvider(create: (_) => Singlehcpdetails()),
//ChangeNotifierProvider(create: (_) => ConfigDataProvider()), //ChangeNotifierProvider(create: (_) => ConfigDataProvider()),
ChangeNotifierProvider<HiveDataRepository>( ChangeNotifierProvider<HiveDataRepository>(
create: (_) => HiveDataRepository( create: (_) => HiveDataRepository(
@ -73,6 +79,7 @@ class MyApp extends StatefulWidget {
class _MyAppState extends State<MyApp> { class _MyAppState extends State<MyApp> {
// This widget is the root of your application. // This widget is the root of your application.
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(

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,10 +1,14 @@
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/profile.dart';
import 'package:discover_module/ui_screen/ranking.dart'; import 'package:discover_module/ui_screen/ranking.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:flutter_profile_picture/flutter_profile_picture.dart'; import 'package:flutter_profile_picture/flutter_profile_picture.dart';
import 'package:hive_flutter/hive_flutter.dart'; import 'package:hive_flutter/hive_flutter.dart';
import 'package:provider/provider.dart';
class Contacts extends StatefulWidget { class Contacts extends StatefulWidget {
const Contacts({super.key}); const Contacts({super.key});
@ -20,9 +24,21 @@ class _ContactsState extends State<Contacts> {
bool _switchValue = false; bool _switchValue = false;
// List<dynamic> alldata = _contactbox.values.toList(); // 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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: Color.fromARGB(255, 0, 71, 132)));
print( print(
"newdata_is: ${_contactbox.values.toList()},${_contactbox.values.toList().length}"); "newdata_is: ${_contactbox.values.toList()},${_contactbox.values.toList().length}");
@ -34,117 +50,168 @@ class _ContactsState extends State<Contacts> {
// appBar: AppBar( // appBar: AppBar(
// title: const Text('Contacts'), // title: const Text('Contacts'),
// ), // ),
body: Column( body: Consumer<hcpProvider>(builder: (context, value, child) {
children: [ print("todoss: ${value},${value.list.length}");
Row( return Column(
mainAxisAlignment: MainAxisAlignment children: [
.center, // Align children to start and end of the row Row(
mainAxisAlignment: MainAxisAlignment
.center, // Align children to start and end of the row
children: [ children: [
Expanded( Expanded(
child: Padding( child: Padding(
padding: const EdgeInsets.only(left: 45.0), padding: const EdgeInsets.only(left: 45.0),
child: Text( child: Text(
_switchValue ? "My Contacts" : "All Contacts", _switchValue ? "My Contacts" : "All Contacts",
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
fontSize: 20.0, fontSize: 20.0,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
fontStyle: FontStyle.normal, fontStyle: FontStyle.normal,
color: _switchValue ? Colors.black : Colors.black), color:
_switchValue ? Colors.black : Colors.black),
),
), ),
), ),
), // Expanded(
// Expanded( Row(
Row( // Adjust alignment as needed
// Adjust alignment as needed mainAxisSize: MainAxisSize.min,
mainAxisSize: MainAxisSize.min, children: [
children: [ _switchValue
_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
? const Text( ? const Text(
'My', 'All',
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
decoration: TextDecoration.lineThrough, decoration: TextDecoration.lineThrough,
decorationThickness: 0.85, decorationThickness: 0.85,
), ),
// TODO: implement dispose
) )
: const Text('My', : const Text('All',
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
)), )),
) CupertinoSwitch(
], activeColor: Color.fromARGB(255, 0, 71, 132),
), value: _switchValue,
// ), onChanged: (value) {
]), setState(() {
Expanded( print("Switch_value_is : $value");
child: ListView.builder( _switchValue = value;
itemCount: HiveFunctions.getAllUsers().length, });
itemBuilder: (BuildContext context, int index) { },
var data = HiveFunctions.getAllUsers()[index]; ),
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( print("dataaaa_isss:$data");
children: [
ListTile( return Column(
onTap: () { children: [
Navigator.push( ListTile(
context, onTap: () {
MaterialPageRoute( Navigator.push(
builder: (context) => Profile())); context,
}, MaterialPageRoute(
// title: Text(_contactbox.values.toString()), builder: (context) => Profile(
leading: ProfilePicture( text: data,
name: data["name"], )));
radius: 20, },
fontsize: 12, // 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

@ -11,6 +11,7 @@ import 'package:discover_module/ui_screen/interactionform/widget/custombutton.da
import 'package:discover_module/ui_screen/interactionform/widget/customrangeslider.dart'; import 'package:discover_module/ui_screen/interactionform/widget/customrangeslider.dart';
import 'package:discover_module/ui_screen/interactionform/widget/interatciontextfield.dart'; import 'package:discover_module/ui_screen/interactionform/widget/interatciontextfield.dart';
import 'package:discover_module/ui_screen/interactionform/widget/responsive_ext.dart'; import 'package:discover_module/ui_screen/interactionform/widget/responsive_ext.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@ -312,16 +313,31 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
.only( .only(
left: 8.0, left: 8.0,
right: 8.0), right: 8.0),
// child: Text(
// '${sectionItem.name}:*',
// style: TextStyle(
// color: Colors
// .orange
// .shade800,
// fontSize:
// isTablet
// ? 18
// : 12,
// ),
// ),
child: Text( child: Text(
'${sectionItem.name}:*', sectionItem
.isRequired
? '${sectionItem.name}:*'
: '${sectionItem.name}:',
style: TextStyle( style: TextStyle(
color: Colors color: Colors
.orange .orange
.shade800, .shade800,
fontSize: fontSize: 18.0,
isTablet // fontSize: isTablet
? 18 // ? 18
: 12, // : 12,
), ),
), ),
), ),
@ -518,7 +534,10 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
), ),
); );
case InteractionWidget.DROPDOWN: case InteractionWidget.DROPDOWN:
return customdropdown(sectionItem, provider, list, multiple); // return customdropdown(sectionItem, provider, list, multiple);
return customAutoCompletedropdown(
sectionItem, provider, list, multiple);
} }
} }
@ -1212,204 +1231,143 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
} }
print("ConvertedArrayEditMulti.leangth: $convertedArray"); print("ConvertedArrayEditMulti.leangth: $convertedArray");
print("ConvertedArray.leangth: ${convertedArray.length}"); print("ConvertedArray.leangth: ${convertedArray.length}");
return DecoratedBox( return Padding(
decoration: BoxDecoration( padding: isTablet
border: Border.all(color: Colors.black), ? const EdgeInsets.only(left: 0.0)
borderRadius: BorderRadius.circular(10.0), : const EdgeInsets.only(left: 12.0, right: 12.0),
), child: Column(
child: Padding( children: [
padding: isTablet for (var i = 0; i < convertedArray.length; i++)
? const EdgeInsets.only(left: 14.0) DecoratedBox(
: const EdgeInsets.only(left: 12.0, right: 12.0), decoration: BoxDecoration(
child: Column( color: i % 2 == 0
children: [ ? Color.fromARGB(133, 213, 241, 254)
for (var i = 0; i < convertedArray.length; i++) : Colors.white,
GridView.builder( ),
physics: const NeverScrollableScrollPhysics(), child: Wrap(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( children: [
// crossAxisCount: context.responsive<int>( GestureDetector(child: Text("data")),
// 1, // default GridView.builder(
// sm: 1, // small physics: const NeverScrollableScrollPhysics(),
// md: 1, // medium gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
// lg: sectionList.length == 1 ? 1 : 4, // large crossAxisCount: context.responsive<int>(
// xl: 5, // extra large screen 1,
// ), sm: 1, // small
crossAxisCount: context.responsive<int>( md: 2, // medium
1, lg: sectionList.length == 1
sm: 1, // small ? 1
md: 2, // medium : (sectionList.length >= 1 ? 3 : 3), // large
lg: sectionList.length == 1 xl: 3, // extra large screen
? 1 ),
: (sectionList.length >= 1 ? 3 : 3), // large mainAxisSpacing:
xl: 3, // extra large screen sectionList.length == 1 || !isTablet ? 1 : 2,
), childAspectRatio: sectionList.length == 1
mainAxisSpacing: ? orientation == Orientation.landscape
sectionList.length == 1 || !isTablet ? 1 : 2, ? 10
// childAspectRatio: isTablet : 4.8
// ? MediaQuery.of(context).size.width / : isTablet
// (MediaQuery.of(context).size.height * 0.3) ? 2.8
// : MediaQuery.of(context).size.width / : 3.0,
// (MediaQuery.of(context).size.height * 0.1), ),
// childAspectRatio: isTablet shrinkWrap: true,
// ? MediaQuery.of(context).size.width / padding: EdgeInsets.zero,
// (MediaQuery.of(context).size.height / 3) itemCount: convertedArray[i].length,
// : MediaQuery.of(context).size.width / itemBuilder: (context, index) {
// (MediaQuery.of(context).size.height * 0.2), SectionList sectionItem = convertedArray[i][index];
dropdownvalue =
sectionItem.widget == InteractionWidget.DROPDOWN
? sectionItem.value ?? "Select"
: ' ';
List<InputClass> list =
sectionItem.widget == InteractionWidget.DROPDOWN ||
sectionItem.widget ==
InteractionWidget.AUTOCOMPLETE ||
sectionItem.widget ==
InteractionWidget.MULTISELECT
? provider.getData2(sectionItem)
: [];
provider.checkboxlist =
sectionItem.widget == InteractionWidget.CHECKBOX
? provider.getData2(sectionItem)
: [];
childAspectRatio: sectionList.length == 1 return SizedBox(
? orientation == Orientation.landscape height: MediaQuery.of(context).size.height,
? 10 child: Column(
: 4.8 crossAxisAlignment: CrossAxisAlignment.start,
: isTablet children: [
? 2.8 sectionItem.widget == InteractionWidget.BUTTON &&
: 3.0, sectionItem.param == 'add' ||
// mainAxisSpacing: sectionItem.param == 'deletebtn'
// sectionList.length == 1 || !isTablet ? 1 : 3.5, ? const SizedBox.shrink()
// childAspectRatio: sectionList.length == 1 : Padding(
// ? orientation == Orientation.landscape padding: const EdgeInsets.only(
// ? 10 left: 8.0, right: 8.0),
// : 4.8 child: Text(
// : isTablet sectionItem.isRequired
// ? 2.8 ? '${sectionItem.name}:*'
// : 3.0, : '${sectionItem.name}:',
), style: TextStyle(
shrinkWrap: true, color: Colors.orange.shade800,
padding: EdgeInsets.zero, fontSize: 18.0,
// fontSize: isTablet
// childAspectRatio: sectionList.length == 1 || !isTablet // ? 18
// ? orientation == Orientation.landscape // : 12,
// ? 10
// : 4.2
// : 1.8,
itemCount: convertedArray[i].length,
itemBuilder: (context, index) {
// children: List.generate(
// sectionList.length,
// (i) {
// // print(sectionList);
// SectionList sectionItem = sectionList[i];
// dropdownvalue = sectionItem.widget == InteractionWidget.DROPDOWN
// ? sectionItem.value ?? "Select"
// : ' ';
// List<InputClass> list =
// sectionItem.widget == InteractionWidget.DROPDOWN ||
// sectionItem.widget == InteractionWidget.AUTOCOMPLETE ||
// sectionItem.widget == InteractionWidget.MULTISELECT
// ? provider.getData2(sectionItem)
// : [];
// provider.checkboxlist =
// sectionItem.widget == InteractionWidget.CHECKBOX
// ? provider.getData2(sectionItem)
// : [];
SectionList sectionItem = convertedArray[i][index];
dropdownvalue =
sectionItem.widget == InteractionWidget.DROPDOWN
? sectionItem.value ?? "Select"
: ' ';
List<InputClass> list = sectionItem.widget ==
InteractionWidget.DROPDOWN ||
sectionItem.widget ==
InteractionWidget.AUTOCOMPLETE ||
sectionItem.widget == InteractionWidget.MULTISELECT
? provider.getData2(sectionItem)
: [];
provider.checkboxlist =
sectionItem.widget == InteractionWidget.CHECKBOX
? provider.getData2(sectionItem)
: [];
return SizedBox(
height: MediaQuery.of(context).size.height,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sectionItem.widget == InteractionWidget.BUTTON &&
sectionItem.param == 'add' ||
sectionItem.param == 'deletebtn'
? const SizedBox.shrink()
: Padding(
padding: const EdgeInsets.only(
left: 8.0, right: 8.0),
child: Text(
'${sectionItem.name}:*',
style: TextStyle(
color: Colors.orange.shade800,
fontSize: isTablet ? 18 : 14,
),
),
),
const SizedBox(
height: 15,
),
sectionItem.widget == InteractionWidget.BUTTON
? sectionItem.input == 'chooseFile'
? Row(
children: [
CustomButton(
backgroundColor:
const Color.fromARGB(
255, 233, 229, 229),
onPressed: () async {
if (sectionItem
.selectedValue!.isNotEmpty) {
showFilesAlertDialog(
context,
sectionItem.fileName!
.join(','),
sectionItem);
} else {
sectionItem.selectedValue = [];
sectionItem.extension = [];
sectionItem.fileName = [];
await getEncodedFile(
sectionItem);
}
setState(() {});
},
width: 120,
height: 40,
fontsize: 12,
textColor: Colors.black,
title: sectionItem.name),
const SizedBox(
width: 5,
), ),
Text( )),
sectionItem.selectedValue!.isNotEmpty const SizedBox(
? 'File uploaded' height: 15,
: 'No file uploaded', ),
style: TextStyle( sectionItem.widget == InteractionWidget.BUTTON
color: sectionItem ? sectionItem.input == 'chooseFile'
? Row(
children: [
CustomButton(
backgroundColor:
const Color.fromARGB(
255, 233, 229, 229),
onPressed: () async {
if (sectionItem.selectedValue!
.isNotEmpty) {
showFilesAlertDialog(
context,
sectionItem.fileName!
.join(','),
sectionItem);
} else {
sectionItem.selectedValue =
[];
sectionItem.extension = [];
sectionItem.fileName = [];
await getEncodedFile(
sectionItem);
}
setState(() {});
},
width: 120,
height: 40,
fontsize: 12,
textColor: Colors.black,
title: sectionItem.name),
const SizedBox(
width: 5,
),
Text(
sectionItem
.selectedValue!.isNotEmpty .selectedValue!.isNotEmpty
? Colors.green ? 'File uploaded'
: Colors.red), : 'No file uploaded',
), style: TextStyle(
], color: sectionItem
) .selectedValue!
: isTablet .isNotEmpty
? IconButton( ? Colors.green
onPressed: () { : Colors.red),
provider.deleteMultipleRows( ),
sectionItem.gid!, ],
sectionList[i],
sectionName);
setState(() {});
},
icon: const Icon(
Icons.cancel,
size: 30,
color:
Color.fromARGB(255, 8, 39, 92),
),
) )
: Padding( : isTablet
padding: const EdgeInsets.only( ? IconButton(
left: 3.0, top: 5),
child: CustomButton(
backgroundColor:
const Color.fromARGB(
255, 233, 75, 75),
onPressed: () { onPressed: () {
provider.deleteMultipleRows( provider.deleteMultipleRows(
sectionItem.gid!, sectionItem.gid!,
@ -1418,28 +1376,52 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
setState(() {}); setState(() {});
}, },
// width: 80, icon: const Icon(
// height: 30, Icons.cancel,
height: 40, size: 30,
fontsize: 12, color: Color.fromARGB(
textColor: Colors.white, 255, 8, 39, 92),
title: "Delete"), ),
) )
: returnWidget( : Padding(
sectionItem: sectionItem, padding: const EdgeInsets.only(
item: item, left: 3.0, top: 5),
provider: provider, child: CustomButton(
list: list, backgroundColor:
gridIndex: i, const Color.fromARGB(
listIndex: listIndex, 255, 233, 75, 75),
widgetData: sectionItem.widget!, onPressed: () {
multiple: true), provider.deleteMultipleRows(
], sectionItem.gid!,
), sectionList[i],
); sectionName);
}),
], setState(() {});
), },
// width: 80,
// height: 30,
height: 40,
fontsize: 12,
textColor: Colors.white,
title: "Delete"),
)
: returnWidget(
sectionItem: sectionItem,
item: item,
provider: provider,
list: list,
gridIndex: i,
listIndex: listIndex,
widgetData: sectionItem.widget!,
multiple: true),
],
),
);
}),
],
),
),
],
), ),
); );
} }

File diff suppressed because it is too large Load Diff

View File

@ -1148,6 +1148,7 @@ class InteractionProvider extends ChangeNotifier {
.where((element) => element.pid == obj.sectionList[i].value) .where((element) => element.pid == obj.sectionList[i].value)
.toList(); .toList();
// sectionItem.selectedObject = list[0];
sectionItem.selectedObject = list[0]; sectionItem.selectedObject = list[0];
} else { } else {
// InputClass obj = InputClass( // InputClass obj = InputClass(
@ -1382,6 +1383,7 @@ class InteractionProvider extends ChangeNotifier {
inputList: e.inputList, inputList: e.inputList,
isRequired: e.isRequired, isRequired: e.isRequired,
name: e.name, name: e.name,
validation: e.validation,
param: e.param, param: e.param,
selectedValue: [], selectedValue: [],
widget: e.widget, widget: e.widget,
@ -1392,13 +1394,14 @@ class InteractionProvider extends ChangeNotifier {
value: e.value)) value: e.value))
.toList(); .toList();
SectionList delItem = SectionList( SectionList delItem = SectionList(
name: "delete", name: " ",
param: "deletebtn", param: "deletebtn",
id: "deletebtn", id: "deletebtn",
selectedValue: [], selectedValue: [],
depid: "", depid: "",
widget: InteractionWidget.BUTTON, widget: InteractionWidget.BUTTON,
inputList: [], inputList: [],
validation: Validation(isRequired: false),
isRequired: true); isRequired: true);
addList.add(delItem); addList.add(delItem);
@ -1502,9 +1505,11 @@ class InteractionProvider extends ChangeNotifier {
: e.multipleList! : e.multipleList!
.map((mobj) => SectionList( .map((mobj) => SectionList(
depid: mobj.depid, depid: mobj.depid,
validation:
Validation(isRequired: mobj.validation!.isRequired),
id: mobj.id, id: mobj.id,
inputList: mobj.inputList, inputList: mobj.inputList,
isRequired: mobj.isRequired, isRequired: mobj.validation!.isRequired,
name: mobj.name, name: mobj.name,
param: mobj.param, param: mobj.param,
selectedValue: mobj.selectedValue, selectedValue: mobj.selectedValue,
@ -1521,8 +1526,10 @@ class InteractionProvider extends ChangeNotifier {
.map((obj) => SectionList( .map((obj) => SectionList(
depid: obj.depid, depid: obj.depid,
id: obj.id, id: obj.id,
validation:
Validation(isRequired: obj.validation!.isRequired),
inputList: obj.inputList, inputList: obj.inputList,
isRequired: obj.isRequired, isRequired: obj.validation!.isRequired,
name: obj.name, name: obj.name,
param: obj.param, param: obj.param,
selectedValue: obj.selectedValue, selectedValue: obj.selectedValue,
@ -1675,30 +1682,32 @@ class InteractionProvider extends ChangeNotifier {
print("Section_isssss: $section"); print("Section_isssss: $section");
print("Section_isssss: ${section.widget}"); print("Section_isssss: ${section.widget}");
print("Section_isssss: ${section.selectedId}"); print("Section_isssss: ${section.selectedId}");
print("Section_isssss1111: ${section.isRequired},${section.name}");
if (section.widget == InteractionWidget.TEXT) { if (section.widget == InteractionWidget.TEXT) {
if (section.controller!.text.isEmpty) { // if (section.controller!.text.isEmpty) {
if (section.isRequired == true && section.controller!.text.isEmpty) {
debugPrint("Iam text and empty"); debugPrint("Iam text and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (section.widget == InteractionWidget.AUTOCOMPLETE) { } else if (section.widget == InteractionWidget.AUTOCOMPLETE) {
if (section.selectedValue!.isEmpty) { if (section.isRequired == true && section.selectedValue!.isEmpty) {
debugPrint("Iam AUTOCOMPLETE and empty"); debugPrint("Iam AUTOCOMPLETE and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (section.widget == InteractionWidget.DROPDOWN) { } else if (section.widget == InteractionWidget.DROPDOWN) {
if (section.selectedValue!.isEmpty) { if (section.isRequired == true && section.selectedValue!.isEmpty) {
debugPrint("Iam dropdown and empty"); debugPrint("Iam dropdown and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (section.widget == InteractionWidget.CHECKBOX) { } else if (section.widget == InteractionWidget.CHECKBOX) {
if (section.selectedValue!.isEmpty) { if (section.isRequired == true && section.selectedValue!.isEmpty) {
debugPrint("Iam CHECKBOX and empty"); debugPrint("Iam CHECKBOX and empty");
notifyListeners(); notifyListeners();
@ -1712,35 +1721,36 @@ class InteractionProvider extends ChangeNotifier {
print("Multilist Enterwidget: ${msection.widget}"); print("Multilist Enterwidget: ${msection.widget}");
if (msection.widget == InteractionWidget.TEXT) { if (msection.isRequired == true &&
msection.widget == InteractionWidget.TEXT) {
print("Checkinggg: ${msection.id}"); print("Checkinggg: ${msection.id}");
print("Checkinggg: ${msection.depid}"); print("Checkinggg: ${msection.depid}");
print("Checkinggg: ${msection.chars}"); print("Checkinggg: ${msection.chars}");
print("Checkinggg: ${msection.selectedId}"); print("Checkinggg: ${msection.selectedId}");
print("Checkinggg: ${msection.selectedValue!}"); print("Checkinggg: ${msection.selectedValue!}");
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam multi text and empty"); debugPrint("Iam multi text and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (msection.widget == InteractionWidget.AUTOCOMPLETE) { } else if (msection.widget == InteractionWidget.AUTOCOMPLETE) {
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam AUTOCOMPLETE and empty"); debugPrint("Iam AUTOCOMPLETE and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (msection.widget == InteractionWidget.DROPDOWN) { } else if (msection.widget == InteractionWidget.DROPDOWN) {
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam dropdown and empty"); debugPrint("Iam dropdown and empty ${msection.widget}");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (msection.widget == InteractionWidget.CHECKBOX) { } else if (msection.widget == InteractionWidget.CHECKBOX) {
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam CHECKBOX and empty"); debugPrint("Iam CHECKBOX and empty");
notifyListeners(); notifyListeners();

View File

@ -126,7 +126,7 @@ class SectionList {
@HiveField(8) @HiveField(8)
List<InputClass>? inputList; List<InputClass>? inputList;
@HiveField(9) @HiveField(9)
bool? isRequired; bool isRequired;
TextEditingController? controller; TextEditingController? controller;
@HiveField(10) @HiveField(10)
@ -160,7 +160,7 @@ class SectionList {
this.input, this.input,
this.gid, this.gid,
this.inputList, this.inputList,
this.isRequired, this.isRequired = false,
this.controller, this.controller,
this.selectedObject, this.selectedObject,
this.selectedId, this.selectedId,

View File

@ -109,7 +109,7 @@ class SectionListAdapter extends TypeAdapter<SectionList> {
input: fields[7] as String?, input: fields[7] as String?,
gid: fields[3] as int?, gid: fields[3] as int?,
inputList: (fields[8] as List?)?.cast<InputClass>(), inputList: (fields[8] as List?)?.cast<InputClass>(),
isRequired: fields[9] as bool?, isRequired: fields[9] as bool,
selectedObject: fields[12] as InputClass?, selectedObject: fields[12] as InputClass?,
selectedId: fields[11] as String?, selectedId: fields[11] as String?,
validation: fields[13] as Validation?, validation: fields[13] as Validation?,

View File

@ -501,19 +501,21 @@ class _ViewInteractionScreenState extends State<ViewInteractionScreen> {
print("ConvertedArrayEdit.leangth: $convertedArray"); print("ConvertedArrayEdit.leangth: $convertedArray");
print("ConvertedArray.leangth2323: ${convertedArray.length}"); print("ConvertedArray.leangth2323: ${convertedArray.length}");
return DecoratedBox( return Padding(
decoration: BoxDecoration( padding: isTablet
border: Border.all(color: Colors.black), ? const EdgeInsets.only(left: 0.0, right: 0.0)
borderRadius: BorderRadius.circular(10), : const EdgeInsets.only(left: 12.0, right: 12.0),
), child: Column(
child: Padding( children: [
padding: isTablet for (var i = 0; i < convertedArray.length; i++)
? const EdgeInsets.only(left: 14.0) DecoratedBox(
: const EdgeInsets.only(left: 12.0, right: 12.0), decoration: BoxDecoration(
child: Column( // borderRadius: BorderRadius.circular(10.0),
children: [ color: i % 2 == 0
for (var i = 0; i < convertedArray.length; i++) ? Color.fromARGB(133, 213, 241, 254)
GridView.builder( : Colors.white,
),
child: GridView.builder(
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: context.responsive<int>( crossAxisCount: context.responsive<int>(
@ -617,9 +619,9 @@ class _ViewInteractionScreenState extends State<ViewInteractionScreen> {
); );
}, },
), ),
//), ),
], //),
), ],
), ),
); );
} }

View File

@ -597,6 +597,7 @@ class ViewInteractionProvider extends ChangeNotifier {
inputList: e.inputList, inputList: e.inputList,
isRequired: e.isRequired, isRequired: e.isRequired,
name: e.name, name: e.name,
validation: e.validation,
param: e.param, param: e.param,
selectedValue: [], selectedValue: [],
widget: e.widget, widget: e.widget,
@ -607,13 +608,14 @@ class ViewInteractionProvider extends ChangeNotifier {
value: e.value)) value: e.value))
.toList(); .toList();
SectionList delItem = SectionList( SectionList delItem = SectionList(
name: "delete", name: " ",
param: "deletebtn", param: "deletebtn",
id: "deletebtn", id: "deletebtn",
selectedValue: [], selectedValue: [],
depid: "", depid: "",
widget: InteractionWidget.BUTTON, widget: InteractionWidget.BUTTON,
inputList: [], inputList: [],
validation: Validation(isRequired: false),
isRequired: true); isRequired: true);
addList.add(delItem); addList.add(delItem);
@ -775,6 +777,7 @@ class ViewInteractionProvider extends ChangeNotifier {
depid: mobj.depid, depid: mobj.depid,
id: mobj.id, id: mobj.id,
inputList: mobj.inputList, inputList: mobj.inputList,
validation: mobj.validation,
isRequired: mobj.isRequired, isRequired: mobj.isRequired,
extension: mobj.extension, extension: mobj.extension,
fileName: mobj.fileName, fileName: mobj.fileName,
@ -793,9 +796,10 @@ class ViewInteractionProvider extends ChangeNotifier {
depid: obj.depid, depid: obj.depid,
id: obj.id, id: obj.id,
inputList: obj.inputList, inputList: obj.inputList,
validation: obj.validation,
isRequired: obj.isRequired,
extension: obj.extension, extension: obj.extension,
fileName: obj.fileName, fileName: obj.fileName,
isRequired: obj.isRequired,
name: obj.name, name: obj.name,
param: obj.param, param: obj.param,
selectedValue: obj.tempselectedValue ?? obj.selectedValue, selectedValue: obj.tempselectedValue ?? obj.selectedValue,
@ -930,28 +934,28 @@ class ViewInteractionProvider extends ChangeNotifier {
print("Section_isssss: ${section.selectedId}"); print("Section_isssss: ${section.selectedId}");
if (section.widget == InteractionWidget.TEXT) { if (section.widget == InteractionWidget.TEXT) {
if (section.controller!.text.isEmpty) { if (section.isRequired == true && section.controller!.text.isEmpty) {
debugPrint("Iam text and empty"); debugPrint("Iam text and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (section.widget == InteractionWidget.AUTOCOMPLETE) { } else if (section.widget == InteractionWidget.AUTOCOMPLETE) {
if (section.selectedValue!.isEmpty) { if (section.isRequired == true && section.selectedValue!.isEmpty) {
debugPrint("Iam AUTOCOMPLETE and empty"); debugPrint("Iam AUTOCOMPLETE and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (section.widget == InteractionWidget.DROPDOWN) { } else if (section.widget == InteractionWidget.DROPDOWN) {
if (section.selectedValue!.isEmpty) { if (section.isRequired == true && section.selectedValue!.isEmpty) {
debugPrint("Iam dropdown and empty"); debugPrint("Iam dropdown and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (section.widget == InteractionWidget.CHECKBOX) { } else if (section.widget == InteractionWidget.CHECKBOX) {
if (section.selectedValue!.isEmpty) { if (section.isRequired == true && section.selectedValue!.isEmpty) {
debugPrint("Iam CHECKBOX and empty"); debugPrint("Iam CHECKBOX and empty");
notifyListeners(); notifyListeners();
@ -972,28 +976,28 @@ class ViewInteractionProvider extends ChangeNotifier {
print("Checkinggg: ${msection.selectedId}"); print("Checkinggg: ${msection.selectedId}");
print("Checkinggg: ${msection.selectedValue!}"); print("Checkinggg: ${msection.selectedValue!}");
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam multi text and empty"); debugPrint("Iam multi text and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (msection.widget == InteractionWidget.AUTOCOMPLETE) { } else if (msection.widget == InteractionWidget.AUTOCOMPLETE) {
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam AUTOCOMPLETE and empty"); debugPrint("Iam AUTOCOMPLETE and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (msection.widget == InteractionWidget.DROPDOWN) { } else if (msection.widget == InteractionWidget.DROPDOWN) {
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam dropdown and empty"); debugPrint("Iam dropdown and empty");
notifyListeners(); notifyListeners();
return false; return false;
} }
} else if (msection.widget == InteractionWidget.CHECKBOX) { } else if (msection.widget == InteractionWidget.CHECKBOX) {
if (msection.selectedValue!.isEmpty) { if (msection.isRequired == true && msection.selectedValue!.isEmpty) {
debugPrint("Iam CHECKBOX and empty"); debugPrint("Iam CHECKBOX and empty");
notifyListeners(); notifyListeners();

View File

@ -92,9 +92,9 @@ class _DataTableDemoState extends State<DataTableDemo> {
} }
class _Row { class _Row {
_Row(this.valueA, this.valueB, this.valueC, this.valueD, this.valueE, _Row(this.identifier, this.valueA, this.valueB, this.valueC, this.valueD,
this.valueF, this.valueG, this.valueH, this.valueI); this.valueE, this.valueF, this.valueG, this.valueH, this.valueI);
final String identifier;
final String valueA; final String valueA;
final String valueB; final String valueB;
final String valueC; final String valueC;
@ -135,7 +135,8 @@ class _DataSource extends DataTableSource {
_rows = <_Row>[ _rows = <_Row>[
for (int i = 0; i < 20; i++) 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:convert';
import 'dart:io'; import 'dart:io';
// import 'dart:js_interop'; // import 'dart:js_interop';
import 'package:discover_module/custom_widget/floating_btn.dart'; import 'package:discover_module/custom_widget/floating_btn.dart';
import 'package:discover_module/custom_widget/show_alert.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/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:discover_module/ui_screen/profile.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/foundation.dart' show kIsWeb; 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:hive_flutter/hive_flutter.dart';
import 'package:open_file/open_file.dart'; import 'package:open_file/open_file.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:provider/provider.dart';
import 'package:syncfusion_flutter_xlsio/xlsio.dart'; import 'package:syncfusion_flutter_xlsio/xlsio.dart';
import 'package:universal_html/html.dart' show AnchorElement; import 'package:universal_html/html.dart' show AnchorElement;
List<_Row> _rows = [];
class Ranking extends StatefulWidget { class Ranking extends StatefulWidget {
@override @override
State<Ranking> createState() => _RankingState(); State<Ranking> createState() => _RankingState();
@ -28,6 +542,8 @@ class _RankingState extends State<Ranking> {
void initState() { void initState() {
super.initState(); super.initState();
print("hii_initState"); print("hii_initState");
gethcpdata();
_dataSource = _DataSource(context); // Initialize _DataSource _dataSource = _DataSource(context); // Initialize _DataSource
} }
@ -161,8 +677,12 @@ class _RankingState extends State<Ranking> {
} else { } else {
for (int i = 0; i < selectedRowIds.length; i++) { for (int i = 0; i < selectedRowIds.length; i++) {
print('The id id : ${selectedRowIds[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]); // selectedno.add(selectedRowIds[i]);
@ -171,16 +691,22 @@ class _RankingState extends State<Ranking> {
// _contactbox.put(i, selectedRowIds[i]); // _contactbox.put(i, selectedRowIds[i]);
HiveFunctions.createUser({ HiveFunctions.createUser({
"name": "Gerosa,Gino", "id": selectedRowIds[i],
"org": "Azienda Ospedaliera di Padova", "name": row.valueA,
"adrr": "Via Giustiniani 2, Padova, Veneto 35128, Italy", "org": row.org,
"phone": "+390498212410X12", "addr": row.addr,
"Pphone": "+390498212410X12", "phone": row.mno,
"email": "Gerosa,Gino@gmail.com", "phone_no": row.mno,
"affno": "75", "email": row.valueC,
"eveno": "8", "affiliations_count": row.valueG,
"pubno": "251", "events_count": row.valueF,
"trailno": "1" "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( showDialog(
@ -281,13 +807,6 @@ class _RankingState extends State<Ranking> {
//globalStyle1.borders.bottom.color = '#829193'; //globalStyle1.borders.bottom.color = '#829193';
globalStyle1.numberFormat = '0.00'; 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(); final List<int> bytes = workbook.saveSync();
print("hii"); print("hii");
@ -316,88 +835,100 @@ class _RankingState extends State<Ranking> {
OpenFile.open(filename); OpenFile.open(filename);
} }
} }
}
class HiveFunctions { void gethcpdata() {
// String userHiveBox="User Box"; // final data = Provider.of<hcpProvider>(context, listen: false);
// 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 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 { class _Row {
_Row( _Row({
this.identifier, required this.identifier,
this.valueA, required this.valueA,
this.valueC, required this.valueC,
this.valueD, required this.valueD,
this.valueE, required this.valueE,
this.valueF, required this.valueF,
this.valueG, required this.valueG,
this.valueH, required this.valueH,
this.valueI, required this.valueI,
this.selected, // Add selected parameter 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 int identifier;
final String valueA; final String valueA;
@ -408,23 +939,33 @@ class _Row {
final String valueG; final String valueG;
final String valueH; final String valueH;
final String valueI; final String valueI;
bool selected = false; bool selected = false;
String? org;
String? mno;
String? smry;
String? lin;
String? suffix;
String? spl;
String? sub_spl;
String? addr;
} }
class _DataSource extends DataTableSource { class _DataSource extends DataTableSource {
final BuildContext context; final BuildContext context;
late List<_Row> _rows; // List<_Row> _rows = [];
// late List<int> _selectedRowsIndexes = []; // List to track selected rows // late List<int> _selectedRowsIndexes = []; // List to track selected rows
final List<int> _selectedRowIds = []; final List<int> _selectedRowIds = [];
List list = [];
_DataSource(this.context) { _DataSource(this.context) {
_rows = <_Row>[ render_hcpdata();
for (int i = 0; i < 20; i++) // _rows = <_Row>[
_Row( // for (int i = 0; i < 20; i++)
i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)), // _Row(
]; // i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
//} // ];
// }
} }
List<int> getSelectedRowIds() { List<int> getSelectedRowIds() {
@ -503,4 +1044,84 @@ class _DataSource extends DataTableSource {
return false; 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/floating_btn.dart';
import 'package:discover_module/custom_widget/show_alert.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:discover_module/ui_screen/ranking.dart';
import 'package:flutter/material.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/floating_btn.dart';
import 'package:discover_module/custom_widget/show_alert.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:discover_module/ui_screen/ranking.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

View File

@ -776,6 +776,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.5.1" version: "1.5.1"
popover:
dependency: "direct main"
description:
name: popover
sha256: "5cba40e04115cbbf15c35e00767b91e8bf3f769763a34beb2f8a1b9e8b5fc876"
url: "https://pub.dev"
source: hosted
version: "0.3.0+1"
provider: provider:
dependency: "direct main" dependency: "direct main"
description: description:

View File

@ -58,6 +58,7 @@ dependencies:
rfw: ^1.0.26 rfw: ^1.0.26
hive_generator: ^2.0.1 hive_generator: ^2.0.1
responsive_grid: ^2.4.4 responsive_grid: ^2.4.4
popover: ^0.3.0+1
dev_dependencies: dev_dependencies: