Compare commits

...

3 Commits

25 changed files with 3803 additions and 1252 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(
@ -73,6 +79,7 @@ class MyApp extends StatefulWidget {
class _MyAppState extends State<MyApp> {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
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/ranking.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
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});
@ -20,9 +24,21 @@ 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) {
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: Color.fromARGB(255, 0, 71, 132)));
print(
"newdata_is: ${_contactbox.values.toList()},${_contactbox.values.toList().length}");
@ -34,7 +50,9 @@ class _ContactsState extends State<Contacts> {
// appBar: AppBar(
// title: const Text('Contacts'),
// ),
body: Column(
body: Consumer<hcpProvider>(builder: (context, value, child) {
print("todoss: ${value},${value.list.length}");
return Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment
@ -51,7 +69,8 @@ class _ContactsState extends State<Contacts> {
fontSize: 20.0,
fontWeight: FontWeight.w500,
fontStyle: FontStyle.normal,
color: _switchValue ? Colors.black : Colors.black),
color:
_switchValue ? Colors.black : Colors.black),
),
),
),
@ -104,11 +123,13 @@ class _ContactsState extends State<Contacts> {
),
// ),
]),
Expanded(
child: ListView.builder(
itemCount: HiveFunctions.getAllUsers().length,
itemCount: value.list.length,
itemBuilder: (BuildContext context, int index) {
var data = HiveFunctions.getAllUsers()[index];
// var data = HiveFunctions.getAllUsers()[index];
var data = value.list[index];
print("dataaaa_isss:$data");
@ -119,7 +140,9 @@ class _ContactsState extends State<Contacts> {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Profile()));
builder: (context) => Profile(
text: data,
)));
},
// title: Text(_contactbox.values.toString()),
leading: ProfilePicture(
@ -143,8 +166,52 @@ class _ContactsState extends State<Contacts> {
},
),
),
///////////////////////////////////////////////
// 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/interatciontextfield.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/services.dart';
import 'package:intl/intl.dart';
@ -312,16 +313,31 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
.only(
left: 8.0,
right: 8.0),
// child: Text(
// '${sectionItem.name}:*',
// style: TextStyle(
// color: Colors
// .orange
// .shade800,
// fontSize:
// isTablet
// ? 18
// : 12,
// ),
// ),
child: Text(
'${sectionItem.name}:*',
sectionItem
.isRequired
? '${sectionItem.name}:*'
: '${sectionItem.name}:',
style: TextStyle(
color: Colors
.orange
.shade800,
fontSize:
isTablet
? 18
: 12,
fontSize: 18.0,
// fontSize: isTablet
// ? 18
// : 12,
),
),
),
@ -518,7 +534,10 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
),
);
case InteractionWidget.DROPDOWN:
return customdropdown(sectionItem, provider, list, multiple);
// return customdropdown(sectionItem, provider, list, multiple);
return customAutoCompletedropdown(
sectionItem, provider, list, multiple);
}
}
@ -1212,28 +1231,25 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
}
print("ConvertedArrayEditMulti.leangth: $convertedArray");
print("ConvertedArray.leangth: ${convertedArray.length}");
return DecoratedBox(
decoration: BoxDecoration(
border: Border.all(color: Colors.black),
borderRadius: BorderRadius.circular(10.0),
),
child: Padding(
return Padding(
padding: isTablet
? const EdgeInsets.only(left: 14.0)
? const EdgeInsets.only(left: 0.0)
: const EdgeInsets.only(left: 12.0, right: 12.0),
child: Column(
children: [
for (var i = 0; i < convertedArray.length; i++)
DecoratedBox(
decoration: BoxDecoration(
color: i % 2 == 0
? Color.fromARGB(133, 213, 241, 254)
: Colors.white,
),
child: Wrap(
children: [
GestureDetector(child: Text("data")),
GridView.builder(
physics: const NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
// crossAxisCount: context.responsive<int>(
// 1, // default
// sm: 1, // small
// md: 1, // medium
// lg: sectionList.length == 1 ? 1 : 4, // large
// xl: 5, // extra large screen
// ),
crossAxisCount: context.responsive<int>(
1,
sm: 1, // small
@ -1245,17 +1261,6 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
),
mainAxisSpacing:
sectionList.length == 1 || !isTablet ? 1 : 2,
// childAspectRatio: isTablet
// ? MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.3)
// : MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.1),
// childAspectRatio: isTablet
// ? MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height / 3)
// : MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.2),
childAspectRatio: sectionList.length == 1
? orientation == Orientation.landscape
? 10
@ -1263,61 +1268,29 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
: isTablet
? 2.8
: 3.0,
// mainAxisSpacing:
// sectionList.length == 1 || !isTablet ? 1 : 3.5,
// childAspectRatio: sectionList.length == 1
// ? orientation == Orientation.landscape
// ? 10
// : 4.8
// : isTablet
// ? 2.8
// : 3.0,
),
shrinkWrap: true,
padding: EdgeInsets.zero,
// childAspectRatio: sectionList.length == 1 || !isTablet
// ? orientation == Orientation.landscape
// ? 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 ||
List<InputClass> list =
sectionItem.widget == InteractionWidget.DROPDOWN ||
sectionItem.widget ==
InteractionWidget.AUTOCOMPLETE ||
sectionItem.widget == InteractionWidget.MULTISELECT
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(
@ -1331,13 +1304,17 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
padding: const EdgeInsets.only(
left: 8.0, right: 8.0),
child: Text(
'${sectionItem.name}:*',
sectionItem.isRequired
? '${sectionItem.name}:*'
: '${sectionItem.name}:',
style: TextStyle(
color: Colors.orange.shade800,
fontSize: isTablet ? 18 : 14,
),
),
fontSize: 18.0,
// fontSize: isTablet
// ? 18
// : 12,
),
)),
const SizedBox(
height: 15,
),
@ -1350,15 +1327,16 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
const Color.fromARGB(
255, 233, 229, 229),
onPressed: () async {
if (sectionItem
.selectedValue!.isNotEmpty) {
if (sectionItem.selectedValue!
.isNotEmpty) {
showFilesAlertDialog(
context,
sectionItem.fileName!
.join(','),
sectionItem);
} else {
sectionItem.selectedValue = [];
sectionItem.selectedValue =
[];
sectionItem.extension = [];
sectionItem.fileName = [];
await getEncodedFile(
@ -1375,12 +1353,14 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
width: 5,
),
Text(
sectionItem.selectedValue!.isNotEmpty
sectionItem
.selectedValue!.isNotEmpty
? 'File uploaded'
: 'No file uploaded',
style: TextStyle(
color: sectionItem
.selectedValue!.isNotEmpty
.selectedValue!
.isNotEmpty
? Colors.green
: Colors.red),
),
@ -1399,8 +1379,8 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
icon: const Icon(
Icons.cancel,
size: 30,
color:
Color.fromARGB(255, 8, 39, 92),
color: Color.fromARGB(
255, 8, 39, 92),
),
)
: Padding(
@ -1441,6 +1421,8 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
],
),
),
],
),
);
}

View File

@ -1,8 +1,10 @@
import 'dart:convert';
import 'dart:io';
// import 'dart:js_interop';
// import 'dart:js_util';
import 'package:discover_module/constants.dart';
import 'package:discover_module/custom_widget/floating_btn.dart';
import 'package:discover_module/ui_screen/add_event/add_hcp.dart';
import 'package:discover_module/ui_screen/interactionform/interactionprovider.dart';
import 'package:discover_module/ui_screen/interactionform/model/interaction_data.dart';
@ -13,10 +15,12 @@ import 'package:discover_module/ui_screen/interactionform/widget/interatciontext
import 'package:discover_module/ui_screen/interactionform/widget/responsive_ext.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:path_provider/path_provider.dart';
import 'package:popover/popover.dart';
import 'package:provider/provider.dart';
import 'package:dropdown_button2/dropdown_button2.dart';
@ -25,6 +29,8 @@ import 'package:file_picker/file_picker.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:path/path.dart' as p;
// import 'package:popover/popover.dart';
class InteractionScreen extends StatefulWidget {
int index;
String form;
@ -171,8 +177,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: isTablet
@ -193,8 +198,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
// xl: 3, // extra large screen
// ),
crossAxisCount:
context.responsive<int>(
crossAxisCount: context.responsive<int>(
1,
sm: 1, // small
md: isTablet
@ -220,8 +224,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
// : 1,
mainAxisSpacing:
sectionList.length == 1 ||
!isTablet
sectionList.length == 1 || !isTablet
? 1
: 3.5,
// mainAxisSpacing:
@ -271,11 +274,9 @@ class _InteractionScreenState extends State<InteractionScreen> {
dropdownvalue = sectionItem
.widget ==
InteractionWidget.DROPDOWN
? sectionItem.value ??
"Select"
? sectionItem.value ?? "Select"
: ' ';
List<
InputClass> list = sectionItem
List<InputClass> list = sectionItem
.widget ==
InteractionWidget
.DROPDOWN ||
@ -285,15 +286,12 @@ class _InteractionScreenState extends State<InteractionScreen> {
sectionItem.widget ==
InteractionWidget
.MULTISELECT
? provider
.getData2(sectionItem)
? provider.getData2(sectionItem)
: [];
provider.checkboxlist =
sectionItem.widget ==
InteractionWidget
.CHECKBOX
? provider
.getData2(sectionItem)
provider.checkboxlist = sectionItem
.widget ==
InteractionWidget.CHECKBOX
? provider.getData2(sectionItem)
: [];
return Column(
@ -313,8 +311,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
left: 8.0,
right: 8.0),
child: FittedBox(
fit: BoxFit
.scaleDown,
fit: BoxFit.scaleDown,
child: Text(
sectionItem
.validation!
@ -397,8 +394,90 @@ class _InteractionScreenState extends State<InteractionScreen> {
),
// const Spacer(),
// saveActions(provider),
Align(
alignment: Alignment.bottomRight,
child: Container(
height: 80.0,
width: 80.0,
child: _offsetPopup(provider.interactionReponseList)))
],
)),
),
// floatingActionButton: FloatingBtn(
// title: "data",
// icon: Icons.add,
// onTap: () {
// showPopover(
// context: context,
// bodyBuilder: (context) {
// return Padding(
// padding: const EdgeInsets.symmetric(vertical: 8),
// child: ListView(
// padding: const EdgeInsets.all(8),
// children: [
// InkWell(
// onTap: () {
// },
// child: Container(
// height: 50,
// color: Colors.amber[100],
// child: const Center(child: Text('Entry A')),
// ),
// ),
// const Divider(),
// Container(
// height: 50,
// color: Colors.amber[200],
// child: const Center(child: Text('Entry B')),
// ),
// const Divider(),
// Container(
// height: 50,
// color: Colors.amber[300],
// child: const Center(child: Text('Entry C')),
// ),
// const Divider(),
// Container(
// height: 50,
// color: Colors.amber[400],
// child: const Center(child: Text('Entry D')),
// ),
// const Divider(),
// Container(
// height: 50,
// color: Colors.amber[500],
// child: const Center(child: Text('Entry E')),
// ),
// const Divider(),
// Container(
// height: 50,
// color: Colors.amber[600],
// child: const Center(child: Text('Entry F')),
// ),
// ],
// ),
// );
// },
// );
// var itemsectionname =
// provider.interactionReponseList.length;
// print("ItemSectionname: $itemsectionname");
// for (int i = 0; i < itemsectionname; i++) {
// var item = provider.interactionReponseList[i];
// print(
// "Check_ProviderNameL ${item.sectionName}, ${item.multiple}");
// }
// // provider.getSectionItem(
// // item.sectionName,
// // );
// },
// )
),
);
}),
);
@ -549,7 +628,10 @@ class _InteractionScreenState extends State<InteractionScreen> {
),
);
case InteractionWidget.DROPDOWN:
return customdropdown(sectionItem, provider, list, multiple);
// return customdropdown(sectionItem, provider, list, multiple);
return customAutoCompletedropdown(
sectionItem, provider, list, multiple);
}
}
@ -1125,200 +1207,6 @@ class _InteractionScreenState extends State<InteractionScreen> {
);
}
// Widget gridViewWidget(
// InteractionProvider provider,
// String sectionName,
// List<SectionList> sectionList,
// Orientation orientation,
// FormFieldData item,
// int listIndex) {
// print("ListInex: $listIndex");
// print("sectionName: $sectionName");
// print("sectionName: $sectionName");
// print("gridsectionlost_is: $sectionList");
// print("gridsectionlostleangth_is: ${sectionList.length}");
// List<SectionList> pooja = sectionList;
// print("Pooja_isss: $pooja");
// return Padding(
// padding: isTablet
// ? const EdgeInsets.only(left: 8.0)
// : const EdgeInsets.only(left: 12.0, right: 12.0),
// child: GridView.count(
// physics: const NeverScrollableScrollPhysics(),
// // crossAxisCount: context.responsive<int>(
// // 1, // default
// // sm: 1, // small
// // md: 1, // medium
// // lg: sectionList.length == 1 ? 1 : 4, // large
// // xl: 5, // extra large screen
// // ),
// crossAxisCount: context.responsive<int>(
// 1,
// sm: 1, // small
// md: 1, // medium
// lg: sectionList.length == 1
// ? 1
// : (sectionList.length >= 1 ? 3 : 3), // large
// xl: 3, // extra large screen
// ),
// mainAxisSpacing: sectionList.length == 1 || !isTablet ? 1 : 2,
// shrinkWrap: true,
// padding: EdgeInsets.zero,
// // childAspectRatio: sectionList.length == 1 || !isTablet
// // ? orientation == Orientation.landscape
// // ? 10
// // : 4.2
// // : 1.8,
// // childAspectRatio: sectionList.length == 1
// // ? orientation == Orientation.landscape
// // ? 10
// // : 4.8
// // : isTablet
// // ? 2.8
// // : 3.0,
// childAspectRatio: MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height / 3),
// 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)
// : [];
// return Wrap(children: [
// Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// sectionItem.widget == InteractionWidget.BUTTON &&
// sectionItem.input == 'add' ||
// sectionItem.input == 'deletebtn'
// ? const SizedBox.shrink()
// : 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 {
// 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
// ? sectionItem.selectedValue!.isNotEmpty
// ? 'File uploaded'
// : "Files Uploaded"
// : 'No file uploaded',
// style: TextStyle(
// color:
// sectionItem.selectedValue!.isNotEmpty
// ? Colors.green
// : Colors.red),
// ),
// ],
// )
// : isTablet
// ? IconButton(
// onPressed: () {
// provider.deleteMultipleRows(
// sectionItem.gid!,
// sectionList[i],
// sectionName);
// setState(() {});
// },
// icon: const Icon(
// Icons.cancel,
// size: 30,
// color: Color.fromARGB(255, 8, 39, 92),
// ),
// )
// : Padding(
// padding:
// const EdgeInsets.only(left: 3.0, top: 5),
// child: CustomButton(
// backgroundColor: const Color.fromARGB(
// 255, 233, 75, 75),
// onPressed: () {
// provider.deleteMultipleRows(
// sectionItem.gid!,
// sectionList[i],
// sectionName);
// setState(() {});
// },
// // width: 80,
// // height: 30,
// height: 40,
// // height:
// // MediaQuery.of(context).size.height *
// // 0.2,
// 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),
// ],
// ),
// ]);
// },
// ),
// ),
// );
// }
//////////////////////////////////////Poojaaaa/////////////////////
///
///
Widget gridViewWidget(
InteractionProvider provider,
String sectionName,
@ -1357,46 +1245,24 @@ class _InteractionScreenState extends State<InteractionScreen> {
print("ConvertedArray.leangth: $convertedArray");
print("ConvertedArray.leangth: ${convertedArray.length}");
return DecoratedBox(
decoration: BoxDecoration(
border: Border.all(color: Colors.black),
borderRadius: BorderRadius.circular(10.0),
),
child: Padding(
return Padding(
padding: isTablet
? const EdgeInsets.only(left: 14.0)
? const EdgeInsets.only(left: 0.0)
: const EdgeInsets.only(left: 12.0, right: 12.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
for (var i = 0; i < convertedArray.length; i++)
GridView.builder(
DecoratedBox(
decoration: BoxDecoration(
// border: Border.all(color: Colors.black),
// borderRadius: BorderRadius.circular(10.0),
color: i % 2 == 0
? Color.fromARGB(133, 213, 241, 254)
: Colors.white,
),
child: GridView.builder(
physics: const NeverScrollableScrollPhysics(),
// gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
// crossAxisCount: context.responsive<int>(
// 1,
// sm: 1, // small
// md: orientation == Orientation.landscape
// ? 1
// : 2, // medium
// lg: sectionList.length == 1
// ? 1
// : (sectionList.length >= 1 ? 3 : 3), // large
// xl: 3, // extra large screen
// ),
// mainAxisSpacing:
// sectionList.length == 1 || !isTablet ? 1 : 2,
// // childAspectRatio: isTablet
// // ? MediaQuery.of(context).size.width /
// // (MediaQuery.of(context).size.height * 0.3)
// // : MediaQuery.of(context).size.width /
// // (MediaQuery.of(context).size.height * 0.1),
// childAspectRatio: isTablet
// ? MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height / 3)
// : MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.2),
// ),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: context.responsive<int>(
1,
@ -1411,13 +1277,6 @@ class _InteractionScreenState extends State<InteractionScreen> {
),
mainAxisSpacing:
sectionList.length == 1 || !isTablet ? 1 : 1,
// childAspectRatio: isTablet
// ? MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.3)
// : MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.1),
childAspectRatio: sectionList.length == 1
? orientation == Orientation.landscape
? 10
@ -1425,47 +1284,11 @@ class _InteractionScreenState extends State<InteractionScreen> {
: isTablet
? 2.8
: 3.0,
// childAspectRatio: isTablet
// ? MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height / 3)
// : orientation == Orientation.landscape
// ? MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.5)
// : MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height * 0.1),
),
shrinkWrap: true,
padding: EdgeInsets.zero,
itemCount: convertedArray[i].length,
itemBuilder: (context, index) {
// SectionList sectionItem =
// convertedArray.expand((list) => list).toList()[index];
// List.generate(
// sectionList.length,
// (i) {
// print(sectionList);
// // SectionList sectionItem = sectionList[i];
// SectionList sectionItem =
// convertedArray.expand((list) => list).toList()[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)
// : [];
SectionList sectionItem = convertedArray[i][index];
dropdownvalue =
sectionItem.widget == InteractionWidget.DROPDOWN
@ -1497,7 +1320,9 @@ class _InteractionScreenState extends State<InteractionScreen> {
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(
'${sectionItem.name}:*',
sectionItem.validation!.isRequired
? "${sectionItem.name}*"
: sectionItem.name,
style: TextStyle(
color: Colors.orange.shade800,
fontSize: 18),
@ -1602,10 +1427,10 @@ class _InteractionScreenState extends State<InteractionScreen> {
],
),
);
})
}),
)
],
),
),
);
//);
}
@ -1761,6 +1586,77 @@ class _InteractionScreenState extends State<InteractionScreen> {
},
);
}
Widget _offsetPopup(List<FormFieldData> interactionReponseList) => PopupMenuButton<
int>(
itemBuilder: (context) {
return List.generate(interactionReponseList.length, (index) {
var provider =
Provider.of<InteractionProvider>(context, listen: false);
var item = provider.interactionReponseList[index];
return PopupMenuItem(
value: index,
child: item.multiple
? GestureDetector(
onTap: () {
print("Clicked Section ${item.sectionName}");
// provider.getSectionItem(
// item.sectionName,
// );
setState(() {
provider.getSectionItem(
item.sectionName,
);
});
const DecoratedBox(
decoration: BoxDecoration(
// border: Border.all(color: Colors.black),
// borderRadius: BorderRadius.circular(10.0),
border: Border(
bottom: BorderSide(width: 1.5, color: Colors.black),
//top: BorderSide(width: 1.5, color: Colors.black),
),
),
);
},
child: Text(' ${item.sectionName}'))
: Container(),
);
});
},
// itemBuilder: (context) => [
// const PopupMenuItem(
// value: 1,
// child: Text(
// "Flutter Open",
// style:
// TextStyle(color: Colors.black, fontWeight: FontWeight.w700),
// ),
// ),
// const PopupMenuItem(
// value: 2,
// child: Text(
// "Flutter Tutorial",
// style:
// TextStyle(color: Colors.black, fontWeight: FontWeight.w700),
// ),
// ),
// ],
icon: Container(
height: double.infinity,
width: double.infinity,
decoration: const ShapeDecoration(
color: Color.fromARGB(255, 8, 39, 92),
shape: StadiumBorder(
side: BorderSide(color: Colors.white, width: 2),
),
),
child: Icon(Icons.add, color: Colors.white),
));
}

View File

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

View File

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

View File

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

View File

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

View File

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

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,22 +939,32 @@ 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)),
// ];
// }
}
@ -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';

View File

@ -776,6 +776,14 @@ packages:
url: "https://pub.dev"
source: hosted
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:
dependency: "direct main"
description:

View File

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