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,7 +50,9 @@ 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) {
print("todoss: ${value},${value.list.length}");
return Column(
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment mainAxisAlignment: MainAxisAlignment
@ -51,7 +69,8 @@ class _ContactsState extends State<Contacts> {
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),
), ),
), ),
), ),
@ -104,11 +123,13 @@ class _ContactsState extends State<Contacts> {
), ),
// ), // ),
]), ]),
Expanded( Expanded(
child: ListView.builder( child: ListView.builder(
itemCount: HiveFunctions.getAllUsers().length, itemCount: value.list.length,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
var data = HiveFunctions.getAllUsers()[index]; // var data = HiveFunctions.getAllUsers()[index];
var data = value.list[index];
print("dataaaa_isss:$data"); print("dataaaa_isss:$data");
@ -119,7 +140,9 @@ class _ContactsState extends State<Contacts> {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => Profile())); builder: (context) => Profile(
text: data,
)));
}, },
// title: Text(_contactbox.values.toString()), // title: Text(_contactbox.values.toString()),
leading: ProfilePicture( 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/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,28 +1231,25 @@ 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(
border: Border.all(color: Colors.black),
borderRadius: BorderRadius.circular(10.0),
),
child: Padding(
padding: isTablet padding: isTablet
? const EdgeInsets.only(left: 14.0) ? const EdgeInsets.only(left: 0.0)
: const EdgeInsets.only(left: 12.0, right: 12.0), : const EdgeInsets.only(left: 12.0, right: 12.0),
child: Column( child: Column(
children: [ children: [
for (var i = 0; i < convertedArray.length; i++) 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( GridView.builder(
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( 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>( crossAxisCount: context.responsive<int>(
1, 1,
sm: 1, // small sm: 1, // small
@ -1245,17 +1261,6 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
), ),
mainAxisSpacing: mainAxisSpacing:
sectionList.length == 1 || !isTablet ? 1 : 2, 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 childAspectRatio: sectionList.length == 1
? orientation == Orientation.landscape ? orientation == Orientation.landscape
? 10 ? 10
@ -1263,61 +1268,29 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
: isTablet : isTablet
? 2.8 ? 2.8
: 3.0, : 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, shrinkWrap: true,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
// childAspectRatio: sectionList.length == 1 || !isTablet
// ? orientation == Orientation.landscape
// ? 10
// : 4.2
// : 1.8,
itemCount: convertedArray[i].length, itemCount: convertedArray[i].length,
itemBuilder: (context, index) { 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]; SectionList sectionItem = convertedArray[i][index];
dropdownvalue = dropdownvalue =
sectionItem.widget == InteractionWidget.DROPDOWN sectionItem.widget == InteractionWidget.DROPDOWN
? sectionItem.value ?? "Select" ? sectionItem.value ?? "Select"
: ' '; : ' ';
List<InputClass> list = sectionItem.widget == List<InputClass> list =
InteractionWidget.DROPDOWN || sectionItem.widget == InteractionWidget.DROPDOWN ||
sectionItem.widget == sectionItem.widget ==
InteractionWidget.AUTOCOMPLETE || InteractionWidget.AUTOCOMPLETE ||
sectionItem.widget == InteractionWidget.MULTISELECT sectionItem.widget ==
InteractionWidget.MULTISELECT
? provider.getData2(sectionItem) ? provider.getData2(sectionItem)
: []; : [];
provider.checkboxlist = provider.checkboxlist =
sectionItem.widget == InteractionWidget.CHECKBOX sectionItem.widget == InteractionWidget.CHECKBOX
? provider.getData2(sectionItem) ? provider.getData2(sectionItem)
: []; : [];
return SizedBox( return SizedBox(
height: MediaQuery.of(context).size.height, height: MediaQuery.of(context).size.height,
child: Column( child: Column(
@ -1331,13 +1304,17 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
padding: const EdgeInsets.only( padding: const EdgeInsets.only(
left: 8.0, right: 8.0), left: 8.0, right: 8.0),
child: Text( child: Text(
'${sectionItem.name}:*', sectionItem.isRequired
? '${sectionItem.name}:*'
: '${sectionItem.name}:',
style: TextStyle( style: TextStyle(
color: Colors.orange.shade800, color: Colors.orange.shade800,
fontSize: isTablet ? 18 : 14, fontSize: 18.0,
), // fontSize: isTablet
), // ? 18
// : 12,
), ),
)),
const SizedBox( const SizedBox(
height: 15, height: 15,
), ),
@ -1350,15 +1327,16 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
const Color.fromARGB( const Color.fromARGB(
255, 233, 229, 229), 255, 233, 229, 229),
onPressed: () async { onPressed: () async {
if (sectionItem if (sectionItem.selectedValue!
.selectedValue!.isNotEmpty) { .isNotEmpty) {
showFilesAlertDialog( showFilesAlertDialog(
context, context,
sectionItem.fileName! sectionItem.fileName!
.join(','), .join(','),
sectionItem); sectionItem);
} else { } else {
sectionItem.selectedValue = []; sectionItem.selectedValue =
[];
sectionItem.extension = []; sectionItem.extension = [];
sectionItem.fileName = []; sectionItem.fileName = [];
await getEncodedFile( await getEncodedFile(
@ -1375,12 +1353,14 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
width: 5, width: 5,
), ),
Text( Text(
sectionItem.selectedValue!.isNotEmpty sectionItem
.selectedValue!.isNotEmpty
? 'File uploaded' ? 'File uploaded'
: 'No file uploaded', : 'No file uploaded',
style: TextStyle( style: TextStyle(
color: sectionItem color: sectionItem
.selectedValue!.isNotEmpty .selectedValue!
.isNotEmpty
? Colors.green ? Colors.green
: Colors.red), : Colors.red),
), ),
@ -1399,8 +1379,8 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
icon: const Icon( icon: const Icon(
Icons.cancel, Icons.cancel,
size: 30, size: 30,
color: color: Color.fromARGB(
Color.fromARGB(255, 8, 39, 92), 255, 8, 39, 92),
), ),
) )
: Padding( : Padding(
@ -1441,6 +1421,8 @@ class _EditInteractionScreenState extends State<EditInteractionScreen> {
], ],
), ),
), ),
],
),
); );
} }

View File

@ -1,8 +1,10 @@
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
// import 'dart:js_interop';
// import 'dart:js_util'; // import 'dart:js_util';
import 'package:discover_module/constants.dart'; 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/add_event/add_hcp.dart';
import 'package:discover_module/ui_screen/interactionform/interactionprovider.dart'; import 'package:discover_module/ui_screen/interactionform/interactionprovider.dart';
import 'package:discover_module/ui_screen/interactionform/model/interaction_data.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:discover_module/ui_screen/interactionform/widget/responsive_ext.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:popover/popover.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:dropdown_button2/dropdown_button2.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:permission_handler/permission_handler.dart';
import 'package:path/path.dart' as p; import 'package:path/path.dart' as p;
// import 'package:popover/popover.dart';
class InteractionScreen extends StatefulWidget { class InteractionScreen extends StatefulWidget {
int index; int index;
String form; String form;
@ -171,8 +177,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Column( child: Column(
crossAxisAlignment: crossAxisAlignment: CrossAxisAlignment.center,
CrossAxisAlignment.center,
children: [ children: [
Padding( Padding(
padding: isTablet padding: isTablet
@ -193,8 +198,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
// xl: 3, // extra large screen // xl: 3, // extra large screen
// ), // ),
crossAxisCount: crossAxisCount: context.responsive<int>(
context.responsive<int>(
1, 1,
sm: 1, // small sm: 1, // small
md: isTablet md: isTablet
@ -220,8 +224,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
// : 1, // : 1,
mainAxisSpacing: mainAxisSpacing:
sectionList.length == 1 || sectionList.length == 1 || !isTablet
!isTablet
? 1 ? 1
: 3.5, : 3.5,
// mainAxisSpacing: // mainAxisSpacing:
@ -271,11 +274,9 @@ class _InteractionScreenState extends State<InteractionScreen> {
dropdownvalue = sectionItem dropdownvalue = sectionItem
.widget == .widget ==
InteractionWidget.DROPDOWN InteractionWidget.DROPDOWN
? sectionItem.value ?? ? sectionItem.value ?? "Select"
"Select"
: ' '; : ' ';
List< List<InputClass> list = sectionItem
InputClass> list = sectionItem
.widget == .widget ==
InteractionWidget InteractionWidget
.DROPDOWN || .DROPDOWN ||
@ -285,15 +286,12 @@ class _InteractionScreenState extends State<InteractionScreen> {
sectionItem.widget == sectionItem.widget ==
InteractionWidget InteractionWidget
.MULTISELECT .MULTISELECT
? provider ? provider.getData2(sectionItem)
.getData2(sectionItem)
: []; : [];
provider.checkboxlist = provider.checkboxlist = sectionItem
sectionItem.widget == .widget ==
InteractionWidget InteractionWidget.CHECKBOX
.CHECKBOX ? provider.getData2(sectionItem)
? provider
.getData2(sectionItem)
: []; : [];
return Column( return Column(
@ -313,8 +311,7 @@ class _InteractionScreenState extends State<InteractionScreen> {
left: 8.0, left: 8.0,
right: 8.0), right: 8.0),
child: FittedBox( child: FittedBox(
fit: BoxFit fit: BoxFit.scaleDown,
.scaleDown,
child: Text( child: Text(
sectionItem sectionItem
.validation! .validation!
@ -397,8 +394,90 @@ class _InteractionScreenState extends State<InteractionScreen> {
), ),
// const Spacer(), // const Spacer(),
// saveActions(provider), // 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: 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( Widget gridViewWidget(
InteractionProvider provider, InteractionProvider provider,
String sectionName, String sectionName,
@ -1357,46 +1245,24 @@ class _InteractionScreenState extends State<InteractionScreen> {
print("ConvertedArray.leangth: $convertedArray"); print("ConvertedArray.leangth: $convertedArray");
print("ConvertedArray.leangth: ${convertedArray.length}"); print("ConvertedArray.leangth: ${convertedArray.length}");
return DecoratedBox( return Padding(
decoration: BoxDecoration(
border: Border.all(color: Colors.black),
borderRadius: BorderRadius.circular(10.0),
),
child: Padding(
padding: isTablet padding: isTablet
? const EdgeInsets.only(left: 14.0) ? const EdgeInsets.only(left: 0.0)
: const EdgeInsets.only(left: 12.0, right: 12.0), : const EdgeInsets.only(left: 12.0, right: 12.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
for (var i = 0; i < convertedArray.length; i++) 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(), 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( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: context.responsive<int>( crossAxisCount: context.responsive<int>(
1, 1,
@ -1411,13 +1277,6 @@ class _InteractionScreenState extends State<InteractionScreen> {
), ),
mainAxisSpacing: mainAxisSpacing:
sectionList.length == 1 || !isTablet ? 1 : 1, 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 childAspectRatio: sectionList.length == 1
? orientation == Orientation.landscape ? orientation == Orientation.landscape
? 10 ? 10
@ -1425,47 +1284,11 @@ class _InteractionScreenState extends State<InteractionScreen> {
: isTablet : isTablet
? 2.8 ? 2.8
: 3.0, : 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, shrinkWrap: true,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
itemCount: convertedArray[i].length, itemCount: convertedArray[i].length,
itemBuilder: (context, index) { 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]; SectionList sectionItem = convertedArray[i][index];
dropdownvalue = dropdownvalue =
sectionItem.widget == InteractionWidget.DROPDOWN sectionItem.widget == InteractionWidget.DROPDOWN
@ -1497,7 +1320,9 @@ class _InteractionScreenState extends State<InteractionScreen> {
child: FittedBox( child: FittedBox(
fit: BoxFit.scaleDown, fit: BoxFit.scaleDown,
child: Text( child: Text(
'${sectionItem.name}:*', sectionItem.validation!.isRequired
? "${sectionItem.name}*"
: sectionItem.name,
style: TextStyle( style: TextStyle(
color: Colors.orange.shade800, color: Colors.orange.shade800,
fontSize: 18), 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) .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(
border: Border.all(color: Colors.black),
borderRadius: BorderRadius.circular(10),
),
child: Padding(
padding: isTablet 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), : const EdgeInsets.only(left: 12.0, right: 12.0),
child: Column( child: Column(
children: [ children: [
for (var i = 0; i < convertedArray.length; i++) 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(), physics: const NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: context.responsive<int>( 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, 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: