Compare commits
3 Commits
513d41d28c
...
77a2cce914
Author | SHA1 | Date |
---|---|---|
poojakhatawate | 77a2cce914 | |
poojakhatawate | 699f242550 | |
poojakhatawate | c6ade88f27 |
15
.metadata
15
.metadata
|
@ -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
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -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(
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
}
|
|
@ -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,
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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),
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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> {
|
|||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -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),
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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?,
|
||||
|
|
|
@ -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> {
|
|||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
//),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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
|
@ -1,10 +1,521 @@
|
|||
// import 'dart:convert';
|
||||
// import 'dart:io';
|
||||
// // import 'dart:js_interop';
|
||||
|
||||
// import 'package:discover_module/custom_widget/floating_btn.dart';
|
||||
// import 'package:discover_module/custom_widget/show_alert.dart';
|
||||
// import 'package:discover_module/ui_screen/contacts.dart';
|
||||
// import 'package:discover_module/ui_screen/profile.dart';
|
||||
// import 'package:flutter/foundation.dart';
|
||||
// import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:hive_flutter/hive_flutter.dart';
|
||||
// import 'package:open_file/open_file.dart';
|
||||
// import 'package:path_provider/path_provider.dart';
|
||||
// import 'package:syncfusion_flutter_xlsio/xlsio.dart';
|
||||
// import 'package:universal_html/html.dart' show AnchorElement;
|
||||
|
||||
// class Ranking extends StatefulWidget {
|
||||
// @override
|
||||
// State<Ranking> createState() => _RankingState();
|
||||
// }
|
||||
|
||||
// class _RankingState extends State<Ranking> {
|
||||
// late _DataSource _dataSource;
|
||||
|
||||
// List<int> selectedno = [];
|
||||
// @override
|
||||
// void initState() {
|
||||
// super.initState();
|
||||
// print("hii_initState");
|
||||
// _dataSource = _DataSource(context); // Initialize _DataSource
|
||||
// }
|
||||
|
||||
// @override
|
||||
// Widget build(BuildContext context) {
|
||||
// return SafeArea(
|
||||
// child: Scaffold(
|
||||
// body: ListView(
|
||||
// padding: const EdgeInsets.all(3),
|
||||
// children: [
|
||||
// PaginatedDataTable(
|
||||
// header: const Text(
|
||||
// 'HCP RANKING',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 18.0,
|
||||
// fontStyle: FontStyle.normal),
|
||||
// ),
|
||||
// showFirstLastButtons: true,
|
||||
// showEmptyRows: false,
|
||||
// showCheckboxColumn: true,
|
||||
// actions: [
|
||||
// IconButton(
|
||||
// onPressed: () {
|
||||
// _createExcel();
|
||||
// },
|
||||
// icon: const Icon(Icons.download,
|
||||
// color: Color.fromARGB(255, 0, 71, 132)))
|
||||
// ],
|
||||
// rowsPerPage: 5,
|
||||
// columns: const [
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Name',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Tier',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Rank',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Score',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Event',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Affliations',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Publications',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// DataColumn(
|
||||
// label: FittedBox(
|
||||
// fit: BoxFit.scaleDown,
|
||||
// child: Text('Trails',
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 14.0,
|
||||
// fontStyle: FontStyle.normal)),
|
||||
// )),
|
||||
// ],
|
||||
// source: _dataSource,
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// floatingActionButton: Visibility(
|
||||
// visible: true,
|
||||
// child: FloatingBtn(
|
||||
// icon: Icons.add,
|
||||
// title: "add",
|
||||
// onTap: () async {
|
||||
// List<int> selectedRowIds = _dataSource.getSelectedRowIds();
|
||||
// // Do something with selectedRowIds
|
||||
// print('Selected Row IDstrndsss: $selectedRowIds');
|
||||
|
||||
// if (selectedRowIds.isEmpty) {
|
||||
// showDialog(
|
||||
// context: context,
|
||||
// builder: (_) {
|
||||
// return Alert(
|
||||
// data: "Please Select the user",
|
||||
// onPressed: () {
|
||||
// Navigator.of(context).pop();
|
||||
// print('OK button pressed');
|
||||
// },
|
||||
// );
|
||||
// });
|
||||
// } else {
|
||||
// for (int i = 0; i < selectedRowIds.length; i++) {
|
||||
// print('The id id : ${selectedRowIds[i]}');
|
||||
|
||||
// print("checking_value_istrends: ${selectedRowIds[i]}");
|
||||
|
||||
// // selectedno.add(selectedRowIds[i]);
|
||||
|
||||
// HiveFunctions.addno(selectedRowIds[i]);
|
||||
|
||||
// // _contactbox.put(i, selectedRowIds[i]);
|
||||
|
||||
// HiveFunctions.createUser({
|
||||
// "name": "Gerosa,Gino",
|
||||
// "org": "Azienda Ospedaliera di Padova",
|
||||
// "adrr": "Via Giustiniani 2, Padova, Veneto 35128, Italy",
|
||||
// "phone": "+390498212410X12",
|
||||
// "Pphone": "+390498212410X12",
|
||||
// "email": "Gerosa,Gino@gmail.com",
|
||||
// "affno": "75",
|
||||
// "eveno": "8",
|
||||
// "pubno": "251",
|
||||
// "trailno": "1"
|
||||
// });
|
||||
// }
|
||||
// showDialog(
|
||||
// context: context,
|
||||
// builder: (_) {
|
||||
// return Alert(
|
||||
// data: "User Added Successfully",
|
||||
// onPressed: () {
|
||||
// Navigator.of(context).pop();
|
||||
// // Navigator.push(context,
|
||||
// // MaterialPageRoute(builder: (_) => Contacts()));
|
||||
// },
|
||||
// );
|
||||
// });
|
||||
// }
|
||||
// },
|
||||
// )),
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
|
||||
// Future<void> _createExcel() async {
|
||||
// //Create an Excel document.
|
||||
|
||||
// //Creating a workbook.
|
||||
// final Workbook workbook = Workbook();
|
||||
// //Accessing via index
|
||||
// final Worksheet sheet = workbook.worksheets[0];
|
||||
|
||||
// // sheet.getRangeByName('A1').setText('pooja');
|
||||
// /////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// sheet.getRangeByName('A1').setText('Name');
|
||||
// sheet.getRangeByName('A2').setText('Gerosa, Gino');
|
||||
// sheet.getRangeByName('A3').setText('Gerosa, Gino');
|
||||
// sheet.getRangeByName('A4').setText('Gerosa, Gino');
|
||||
|
||||
// final Style headingStyle = workbook.styles.add('HeadingStyle');
|
||||
// headingStyle.bold = true;
|
||||
// headingStyle.hAlign = HAlignType.center;
|
||||
// headingStyle.wrapText = true;
|
||||
// sheet.getRangeByName('B1').setText('Tier');
|
||||
// sheet.getRangeByName('B2').setText("Tier1");
|
||||
// sheet.getRangeByName('B3').setText("Tier1");
|
||||
// sheet.getRangeByName('B4').setText("Tier1");
|
||||
// sheet.getRangeByName('C1').setText('Rank');
|
||||
// sheet.getRangeByName('C2').setNumber(1);
|
||||
// sheet.getRangeByName('C3').setNumber(1);
|
||||
// sheet.getRangeByName('C4').setNumber(1);
|
||||
// sheet.getRangeByName('D1').setText('Score');
|
||||
// sheet.getRangeByName('D2').setNumber(0);
|
||||
// sheet.getRangeByName('D3').setNumber(0);
|
||||
// sheet.getRangeByName('D4').setNumber(0);
|
||||
|
||||
// sheet.getRangeByName('E1').setText('Event');
|
||||
// sheet.getRangeByName('E2').setNumber(0);
|
||||
// sheet.getRangeByName('E3').setNumber(0);
|
||||
// sheet.getRangeByName('E4').setNumber(0);
|
||||
|
||||
// sheet.getRangeByName('F1').setText('Affiliations');
|
||||
// sheet.getRangeByName('F2').setNumber(0);
|
||||
// sheet.getRangeByName('F3').setNumber(0);
|
||||
// sheet.getRangeByName('F4').setNumber(0);
|
||||
|
||||
// sheet.getRangeByName('G1').setText('Publications');
|
||||
// sheet.getRangeByName('G2').setNumber(0);
|
||||
// sheet.getRangeByName('G3').setNumber(0);
|
||||
// sheet.getRangeByName('G4').setNumber(0);
|
||||
|
||||
// sheet.getRangeByName('H1').setText('Trails');
|
||||
// sheet.getRangeByName('H2').setNumber(0);
|
||||
// sheet.getRangeByName('H3').setNumber(0);
|
||||
// sheet.getRangeByName('H4').setNumber(0);
|
||||
|
||||
// //Defining a global style with properties.
|
||||
// final Style globalStyle = workbook.styles.add('globalStyle');
|
||||
// //globalStyle.backColor = '#37D8E9';
|
||||
// globalStyle.fontName = 'Times New Roman';
|
||||
// globalStyle.fontSize = 12;
|
||||
// // globalStyle.fontColor = '#C67878';
|
||||
// globalStyle.fontColor = '#C67878';
|
||||
|
||||
// globalStyle.italic = true;
|
||||
// globalStyle.bold = true;
|
||||
// globalStyle.underline = true;
|
||||
// globalStyle.wrapText = true;
|
||||
// globalStyle.hAlign = HAlignType.center;
|
||||
// globalStyle.vAlign = VAlignType.center;
|
||||
// globalStyle.borders.all.lineStyle = LineStyle.thick;
|
||||
// // globalStyle.borders.all.color = '#9954CC';
|
||||
|
||||
// final Style globalStyle1 = workbook.styles.add('globalStyle1');
|
||||
// globalStyle1.fontSize = 14;
|
||||
// // globalStyle1.fontColor = '#362191';
|
||||
// globalStyle1.hAlign = HAlignType.center;
|
||||
// globalStyle1.vAlign = VAlignType.center;
|
||||
// globalStyle1.borders.bottom.lineStyle = LineStyle.thin;
|
||||
// //globalStyle1.borders.bottom.color = '#829193';
|
||||
// globalStyle1.numberFormat = '0.00';
|
||||
|
||||
// //Apply GlobalStyle
|
||||
// // sheet.getRangeByName('A1:D1').cellStyle = globalStyle;
|
||||
|
||||
// // //Apply GlobalStyle1
|
||||
// // sheet.getRangeByName('B2:D4').cellStyle = globalStyle1;
|
||||
// //////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// final List<int> bytes = workbook.saveSync();
|
||||
|
||||
// print("hii");
|
||||
|
||||
// if (kIsWeb) {
|
||||
// AnchorElement(
|
||||
// href:
|
||||
// 'data:application/octet-stream;charset=utf-16le;base64,${base64.encode(bytes)}')
|
||||
// ..setAttribute('download', 'Output.xlsx')
|
||||
// ..click();
|
||||
// } else {
|
||||
// // final String path = (await getApplicationDocumentsDirectory()).path;
|
||||
// //final directory = await getExternalStorageDirectory();
|
||||
|
||||
// Directory? directory = Platform.isAndroid
|
||||
// ? await getExternalStorageDirectory()
|
||||
// : await getApplicationDocumentsDirectory();
|
||||
|
||||
// final path = directory!.path;
|
||||
|
||||
// final String filename =
|
||||
// Platform.isWindows ? '$path\\Output.xlsx' : '$path/Output.xlsx';
|
||||
// // final String filename = '$path/Output.xlsx';
|
||||
// final File file = File(filename);
|
||||
// await file.writeAsBytes(bytes, flush: true);
|
||||
// OpenFile.open(filename);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// class HiveFunctions {
|
||||
// // String userHiveBox="User Box";
|
||||
// // Box which will use to store the things
|
||||
// static final _contactbox = Hive.box("mycontact");
|
||||
// static var box1 = Hive.box('checkvalue');
|
||||
|
||||
// static createUser(Map data) {
|
||||
// _contactbox.add(data);
|
||||
// }
|
||||
|
||||
// static List getAllUsers() {
|
||||
// final data = _contactbox.keys.map((key) {
|
||||
// final value = _contactbox.get(key);
|
||||
// print("Checking_Name : $value");
|
||||
// return {
|
||||
// "name": value["name"],
|
||||
// "org": value["org"],
|
||||
// "adrr": value["adrr"],
|
||||
// "phone": value["phone"],
|
||||
// "Pphone": value["Pphone"],
|
||||
// "email": value["email"],
|
||||
// "affno": value["affno"],
|
||||
// "eveno": value["eveno"],
|
||||
// "pubno": value["pubno"],
|
||||
// "trailno": value["trailno"]
|
||||
// };
|
||||
// }).toList();
|
||||
|
||||
// return data.reversed.toList();
|
||||
// }
|
||||
|
||||
// static List getindexUsers() {
|
||||
// final data = _contactbox.keys.map((key) {
|
||||
// final value = _contactbox.get(key);
|
||||
// print("Checking_Name : $value");
|
||||
// return {
|
||||
// "name": value["name"],
|
||||
// "org": value["org"],
|
||||
// "adrr": value["adrr"],
|
||||
// "phone": value["phone"],
|
||||
// "Pphone": value["Pphone"],
|
||||
// "email": value["email"],
|
||||
// "affno": value["affno"],
|
||||
// "eveno": value["eveno"],
|
||||
// "pubno": value["pubno"],
|
||||
// "trailno": value["trailno"]
|
||||
// };
|
||||
// }).toList();
|
||||
|
||||
// return data.reversed.toList();
|
||||
// }
|
||||
|
||||
// static addno(int selectedRowId) {
|
||||
// // final box1 = Hive.box("mycontact");
|
||||
|
||||
// print("SelectedStoredvaluessss: $selectedRowId");
|
||||
|
||||
// box1.add(selectedRowId);
|
||||
// }
|
||||
|
||||
// static getno() {
|
||||
// // final box1 = Hive.box("mycontact");
|
||||
|
||||
// return box1.values;
|
||||
// }
|
||||
// }
|
||||
|
||||
// class _Row {
|
||||
// _Row(
|
||||
// this.identifier,
|
||||
// this.valueA,
|
||||
// this.valueC,
|
||||
// this.valueD,
|
||||
// this.valueE,
|
||||
// this.valueF,
|
||||
// this.valueG,
|
||||
// this.valueH,
|
||||
// this.valueI,
|
||||
// this.selected, // Add selected parameter
|
||||
// );
|
||||
|
||||
// final int identifier;
|
||||
// final String valueA;
|
||||
// final String valueC;
|
||||
// final String valueD;
|
||||
// final String valueE;
|
||||
// final String valueF;
|
||||
// final String valueG;
|
||||
// final String valueH;
|
||||
// final String valueI;
|
||||
|
||||
// bool selected = false;
|
||||
// }
|
||||
|
||||
// class _DataSource extends DataTableSource {
|
||||
// final BuildContext context;
|
||||
// late List<_Row> _rows;
|
||||
// // late List<int> _selectedRowsIndexes = []; // List to track selected rows
|
||||
// final List<int> _selectedRowIds = [];
|
||||
|
||||
// _DataSource(this.context) {
|
||||
// _rows = <_Row>[
|
||||
// for (int i = 0; i < 20; i++)
|
||||
// _Row(
|
||||
// i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
|
||||
// ];
|
||||
// //}
|
||||
// }
|
||||
|
||||
// List<int> getSelectedRowIds() {
|
||||
// return _selectedRowIds; // Return a copy to prevent direct modification
|
||||
// }
|
||||
|
||||
// int _selectedCount = 0;
|
||||
|
||||
// @override
|
||||
// DataRow? getRow(int index) {
|
||||
// assert(index >= 0);
|
||||
// if (index >= _rows.length) return null;
|
||||
// final row = _rows[index];
|
||||
// return DataRow.byIndex(
|
||||
// index: index,
|
||||
// selected: row.selected,
|
||||
// onSelectChanged: (value) {
|
||||
// if (row.selected != value) {
|
||||
// // _selectedCount += value! ? 1 : -1;
|
||||
// // assert(_selectedCount >= 0);
|
||||
// row.selected = value!;
|
||||
|
||||
// if (value) {
|
||||
// print("Selected");
|
||||
// _selectedRowIds.add(row.identifier); // Add the row ID to the list
|
||||
// print("Selected_selectedRowIds :$_selectedRowIds");
|
||||
// } else {
|
||||
// _selectedRowIds
|
||||
// .remove(row.identifier); // Remove the row ID from the list
|
||||
// }
|
||||
// notifyListeners();
|
||||
|
||||
// print("Selectedddd_is $value");
|
||||
// print("Selectedddd_value ${row.valueA}");
|
||||
// }
|
||||
// },
|
||||
// cells: [
|
||||
// DataCell(
|
||||
// Text(row.valueA),
|
||||
// onTap: () {
|
||||
// print("hiii Data cell tap ${row.valueA}");
|
||||
|
||||
// Navigator.push(
|
||||
// context, MaterialPageRoute(builder: (context) => Profile()));
|
||||
// },
|
||||
// ),
|
||||
// DataCell(Text(row.valueC)),
|
||||
// DataCell(Text(row.valueD.toString())),
|
||||
// DataCell(Text(row.valueE)),
|
||||
// DataCell(Text(row.valueF)),
|
||||
// DataCell(Text(row.valueG)),
|
||||
// DataCell(Text(row.valueH)),
|
||||
// DataCell(Text(row.valueI)),
|
||||
// ],
|
||||
// );
|
||||
// }
|
||||
|
||||
// @override
|
||||
// int get rowCount => _rows.length;
|
||||
|
||||
// @override
|
||||
// bool get isRowCountApproximate => false;
|
||||
|
||||
// @override
|
||||
// int get selectedRowCount => _selectedCount;
|
||||
|
||||
// bool check(int i) {
|
||||
// // print("I_am_i: $i");
|
||||
// print("_selectedRowIds_i: ${HiveFunctions.getno()}");
|
||||
|
||||
// //HiveFunctions.getno();
|
||||
// if (HiveFunctions.getno().contains(i)) {
|
||||
// print("Iam_in: $i");
|
||||
// return true;
|
||||
// }
|
||||
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
// import 'dart:js_interop';
|
||||
|
||||
import 'package:discover_module/custom_widget/floating_btn.dart';
|
||||
import 'package:discover_module/custom_widget/show_alert.dart';
|
||||
import 'package:discover_module/hive_fun.dart';
|
||||
import 'package:discover_module/provider_class/hcp%20_provider.dart';
|
||||
import 'package:discover_module/ui_screen/contacts.dart';
|
||||
import 'package:discover_module/ui_screen/filters_menu.dart';
|
||||
import 'package:discover_module/ui_screen/interactionform/NewtworkConnectivity.dart';
|
||||
import 'package:discover_module/ui_screen/profile.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
|
@ -12,9 +523,12 @@ import 'package:flutter/material.dart';
|
|||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
import 'package:open_file/open_file.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:syncfusion_flutter_xlsio/xlsio.dart';
|
||||
import 'package:universal_html/html.dart' show AnchorElement;
|
||||
|
||||
List<_Row> _rows = [];
|
||||
|
||||
class Ranking extends StatefulWidget {
|
||||
@override
|
||||
State<Ranking> createState() => _RankingState();
|
||||
|
@ -28,6 +542,8 @@ class _RankingState extends State<Ranking> {
|
|||
void initState() {
|
||||
super.initState();
|
||||
print("hii_initState");
|
||||
|
||||
gethcpdata();
|
||||
_dataSource = _DataSource(context); // Initialize _DataSource
|
||||
}
|
||||
|
||||
|
@ -161,8 +677,12 @@ class _RankingState extends State<Ranking> {
|
|||
} else {
|
||||
for (int i = 0; i < selectedRowIds.length; i++) {
|
||||
print('The id id : ${selectedRowIds[i]}');
|
||||
//List<_Row> _rows = [];
|
||||
|
||||
print("checking_value_istrends: ${selectedRowIds[i]}");
|
||||
final row = _rows[selectedRowIds[i] - 1];
|
||||
|
||||
print(
|
||||
"checking_value_istrends: ${selectedRowIds[i]},${row.valueA}");
|
||||
|
||||
// selectedno.add(selectedRowIds[i]);
|
||||
|
||||
|
@ -171,16 +691,22 @@ class _RankingState extends State<Ranking> {
|
|||
// _contactbox.put(i, selectedRowIds[i]);
|
||||
|
||||
HiveFunctions.createUser({
|
||||
"name": "Gerosa,Gino",
|
||||
"org": "Azienda Ospedaliera di Padova",
|
||||
"adrr": "Via Giustiniani 2, Padova, Veneto 35128, Italy",
|
||||
"phone": "+390498212410X12",
|
||||
"Pphone": "+390498212410X12",
|
||||
"email": "Gerosa,Gino@gmail.com",
|
||||
"affno": "75",
|
||||
"eveno": "8",
|
||||
"pubno": "251",
|
||||
"trailno": "1"
|
||||
"id": selectedRowIds[i],
|
||||
"name": row.valueA,
|
||||
"org": row.org,
|
||||
"addr": row.addr,
|
||||
"phone": row.mno,
|
||||
"phone_no": row.mno,
|
||||
"email": row.valueC,
|
||||
"affiliations_count": row.valueG,
|
||||
"events_count": row.valueF,
|
||||
"publications_count": row.valueH,
|
||||
"trail_count": "1",
|
||||
"summarry": row.smry,
|
||||
"license_no": row.lin,
|
||||
"p_suffix": row.suffix,
|
||||
"speciality": row.spl,
|
||||
"sub_speciality": row.sub_spl,
|
||||
});
|
||||
}
|
||||
showDialog(
|
||||
|
@ -281,13 +807,6 @@ class _RankingState extends State<Ranking> {
|
|||
//globalStyle1.borders.bottom.color = '#829193';
|
||||
globalStyle1.numberFormat = '0.00';
|
||||
|
||||
//Apply GlobalStyle
|
||||
// sheet.getRangeByName('A1:D1').cellStyle = globalStyle;
|
||||
|
||||
// //Apply GlobalStyle1
|
||||
// sheet.getRangeByName('B2:D4').cellStyle = globalStyle1;
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
final List<int> bytes = workbook.saveSync();
|
||||
|
||||
print("hii");
|
||||
|
@ -316,88 +835,100 @@ class _RankingState extends State<Ranking> {
|
|||
OpenFile.open(filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class HiveFunctions {
|
||||
// String userHiveBox="User Box";
|
||||
// Box which will use to store the things
|
||||
static final _contactbox = Hive.box("mycontact");
|
||||
static var box1 = Hive.box('checkvalue');
|
||||
|
||||
static createUser(Map data) {
|
||||
_contactbox.add(data);
|
||||
}
|
||||
|
||||
static List getAllUsers() {
|
||||
final data = _contactbox.keys.map((key) {
|
||||
final value = _contactbox.get(key);
|
||||
print("Checking_Name : $value");
|
||||
return {
|
||||
"name": value["name"],
|
||||
"org": value["org"],
|
||||
"adrr": value["adrr"],
|
||||
"phone": value["phone"],
|
||||
"Pphone": value["Pphone"],
|
||||
"email": value["email"],
|
||||
"affno": value["affno"],
|
||||
"eveno": value["eveno"],
|
||||
"pubno": value["pubno"],
|
||||
"trailno": value["trailno"]
|
||||
};
|
||||
}).toList();
|
||||
|
||||
return data.reversed.toList();
|
||||
}
|
||||
|
||||
static List getindexUsers() {
|
||||
final data = _contactbox.keys.map((key) {
|
||||
final value = _contactbox.get(key);
|
||||
print("Checking_Name : $value");
|
||||
return {
|
||||
"name": value["name"],
|
||||
"org": value["org"],
|
||||
"adrr": value["adrr"],
|
||||
"phone": value["phone"],
|
||||
"Pphone": value["Pphone"],
|
||||
"email": value["email"],
|
||||
"affno": value["affno"],
|
||||
"eveno": value["eveno"],
|
||||
"pubno": value["pubno"],
|
||||
"trailno": value["trailno"]
|
||||
};
|
||||
}).toList();
|
||||
|
||||
return data.reversed.toList();
|
||||
}
|
||||
|
||||
static addno(int selectedRowId) {
|
||||
// final box1 = Hive.box("mycontact");
|
||||
|
||||
print("SelectedStoredvaluessss: $selectedRowId");
|
||||
|
||||
box1.add(selectedRowId);
|
||||
}
|
||||
|
||||
static getno() {
|
||||
// final box1 = Hive.box("mycontact");
|
||||
|
||||
return box1.values;
|
||||
void gethcpdata() {
|
||||
// final data = Provider.of<hcpProvider>(context, listen: false);
|
||||
}
|
||||
}
|
||||
|
||||
// class HiveFunctions {
|
||||
// // String userHiveBox="User Box";
|
||||
// // Box which will use to store the things
|
||||
// static final _contactbox = Hive.box("mycontact");
|
||||
// static var box1 = Hive.box('checkvalue');
|
||||
|
||||
// static createUser(Map data) {
|
||||
// _contactbox.add(data);
|
||||
// }
|
||||
|
||||
// static List getAllUsers() {
|
||||
// final data = _contactbox.keys.map((key) {
|
||||
// final value = _contactbox.get(key);
|
||||
// print("Checking_Name : $value");
|
||||
// return {
|
||||
// "name": value["name"],
|
||||
// "org": value["org"],
|
||||
// "adrr": value["adrr"],
|
||||
// "phone": value["phone"],
|
||||
// "Pphone": value["Pphone"],
|
||||
// "email": value["email"],
|
||||
// "affno": value["affno"],
|
||||
// "eveno": value["eveno"],
|
||||
// "pubno": value["pubno"],
|
||||
// "trailno": value["trailno"]
|
||||
// };
|
||||
// }).toList();
|
||||
|
||||
// return data.reversed.toList();
|
||||
// }
|
||||
|
||||
// static List getindexUsers() {
|
||||
// final data = _contactbox.keys.map((key) {
|
||||
// final value = _contactbox.get(key);
|
||||
// print("Checking_Name : $value");
|
||||
// return {
|
||||
// "name": value["name"],
|
||||
// "org": value["org"],
|
||||
// "adrr": value["adrr"],
|
||||
// "phone": value["phone"],
|
||||
// "Pphone": value["Pphone"],
|
||||
// "email": value["email"],
|
||||
// "affno": value["affno"],
|
||||
// "eveno": value["eveno"],
|
||||
// "pubno": value["pubno"],
|
||||
// "trailno": value["trailno"]
|
||||
// };
|
||||
// }).toList();
|
||||
|
||||
// return data.reversed.toList();
|
||||
// }
|
||||
|
||||
// static addno(int selectedRowId) {
|
||||
// // final box1 = Hive.box("mycontact");
|
||||
|
||||
// print("SelectedStoredvaluessss: $selectedRowId");
|
||||
|
||||
// box1.add(selectedRowId);
|
||||
// }
|
||||
|
||||
// static getno() {
|
||||
// // final box1 = Hive.box("mycontact");
|
||||
|
||||
// return box1.values;
|
||||
// }
|
||||
// }
|
||||
|
||||
class _Row {
|
||||
_Row(
|
||||
this.identifier,
|
||||
this.valueA,
|
||||
this.valueC,
|
||||
this.valueD,
|
||||
this.valueE,
|
||||
this.valueF,
|
||||
this.valueG,
|
||||
this.valueH,
|
||||
this.valueI,
|
||||
this.selected, // Add selected parameter
|
||||
);
|
||||
_Row({
|
||||
required this.identifier,
|
||||
required this.valueA,
|
||||
required this.valueC,
|
||||
required this.valueD,
|
||||
required this.valueE,
|
||||
required this.valueF,
|
||||
required this.valueG,
|
||||
required this.valueH,
|
||||
required this.valueI,
|
||||
required this.selected,
|
||||
this.org,
|
||||
this.mno,
|
||||
this.smry,
|
||||
this.lin,
|
||||
this.suffix,
|
||||
this.spl,
|
||||
this.sub_spl,
|
||||
this.addr, // Add selected parameter
|
||||
});
|
||||
|
||||
final int identifier;
|
||||
final String valueA;
|
||||
|
@ -408,23 +939,33 @@ class _Row {
|
|||
final String valueG;
|
||||
final String valueH;
|
||||
final String valueI;
|
||||
|
||||
bool selected = false;
|
||||
String? org;
|
||||
String? mno;
|
||||
String? smry;
|
||||
String? lin;
|
||||
String? suffix;
|
||||
String? spl;
|
||||
String? sub_spl;
|
||||
String? addr;
|
||||
}
|
||||
|
||||
class _DataSource extends DataTableSource {
|
||||
final BuildContext context;
|
||||
late List<_Row> _rows;
|
||||
// List<_Row> _rows = [];
|
||||
// late List<int> _selectedRowsIndexes = []; // List to track selected rows
|
||||
final List<int> _selectedRowIds = [];
|
||||
|
||||
List list = [];
|
||||
|
||||
_DataSource(this.context) {
|
||||
_rows = <_Row>[
|
||||
for (int i = 0; i < 20; i++)
|
||||
_Row(
|
||||
i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
|
||||
];
|
||||
//}
|
||||
render_hcpdata();
|
||||
// _rows = <_Row>[
|
||||
// for (int i = 0; i < 20; i++)
|
||||
// _Row(
|
||||
// i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
|
||||
// ];
|
||||
// }
|
||||
}
|
||||
|
||||
List<int> getSelectedRowIds() {
|
||||
|
@ -503,4 +1044,84 @@ class _DataSource extends DataTableSource {
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
Future<void> render_hcpdata() async {
|
||||
NetworkConnectivity networkConnectivity = NetworkConnectivity();
|
||||
bool isOnline = await networkConnectivity.isInternetAvailable();
|
||||
|
||||
print("RankingPage_isOnline: $isOnline");
|
||||
|
||||
if (isOnline) {
|
||||
final hcpdata = Provider.of<hcpProvider>(context, listen: false);
|
||||
|
||||
await hcpdata.getHCPProvider();
|
||||
|
||||
final hcplist = hcpdata.list;
|
||||
|
||||
print("LookingHcpList: $hcplist");
|
||||
|
||||
// _rows = <_Row>[
|
||||
// for (int i = 0; i < 20; i++)
|
||||
// _Row(
|
||||
// i, 'Gerosa, Gino', 'Tier1', '1', '0', '0', '0', '0', '0', check(i)),
|
||||
// ];
|
||||
|
||||
_rows = hcplist
|
||||
.map((e) => _Row(
|
||||
identifier: e['id'],
|
||||
valueA: e['name'],
|
||||
valueC: e['email'],
|
||||
valueD: e['rank'].toString(),
|
||||
valueE: e['score'].toString(),
|
||||
valueF: e['events_count'].toString(),
|
||||
valueG: e['affiliations_count'].toString(),
|
||||
valueH: e['publications_count'].toString(),
|
||||
valueI: '0',
|
||||
selected: check(e['id']),
|
||||
org: "Aissel",
|
||||
mno: e['phone_no'].toString(),
|
||||
smry: e['summarry'],
|
||||
lin: e['license_no'].toString(),
|
||||
suffix: e['p_suffix'],
|
||||
spl: e['speciality'],
|
||||
sub_spl: e['sub_speciality'],
|
||||
addr: e['addr'],
|
||||
))
|
||||
.toList();
|
||||
notifyListeners();
|
||||
} else {
|
||||
print("get_Storeddata: ${HiveFunctions.gethcpdata()}");
|
||||
|
||||
list = HiveFunctions.gethcpdata().toList();
|
||||
// debugPrint(HiveFunctions.gethcpdata());
|
||||
|
||||
// List offlinedata = HiveFunctions.gethcpdata();
|
||||
print("offline_data_is: ");
|
||||
|
||||
print("offline_data_is: $list");
|
||||
|
||||
_rows = list
|
||||
.map((e) => _Row(
|
||||
identifier: e['id'],
|
||||
valueA: e['name'],
|
||||
valueC: e['email'],
|
||||
valueD: e['rank'].toString(),
|
||||
valueE: e['score'].toString(),
|
||||
valueF: e['events_count'].toString(),
|
||||
valueG: e['affiliations_count'].toString(),
|
||||
valueH: e['publications_count'].toString(),
|
||||
valueI: '0',
|
||||
selected: check(e['id']),
|
||||
org: "Aissel",
|
||||
mno: e['phone_no'].toString(),
|
||||
smry: e['sumry'],
|
||||
lin: e['licno'].toString(),
|
||||
suffix: e['suffix'],
|
||||
spl: e['spl'],
|
||||
sub_spl: e['sub_sp'],
|
||||
))
|
||||
.toList();
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue