Carousel
This commit is contained in:
parent
e1d39b59fd
commit
10f4e04004
|
@ -4,6 +4,6 @@ class Constants {
|
||||||
static Color k2color = Color.fromARGB(255, 0, 71, 132);
|
static Color k2color = Color.fromARGB(255, 0, 71, 132);
|
||||||
|
|
||||||
//static const url = "http://192.168.172.50:8082/api";
|
//static const url = "http://192.168.172.50:8082/api";
|
||||||
static const url = 'http://192.168.2.143:8084/api';
|
static const url = 'http://192.168.2.143:8085/api';
|
||||||
//static const url = 'http://192.168.153.50:8082/api';
|
//static const url = 'http://192.168.153.50:8082/api';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:discover_module/provider_class/affiliationsprovider.dart';
|
import 'package:discover_module/provider_class/affiliationsprovider.dart';
|
||||||
import 'package:discover_module/provider_class/events_provider.dart';
|
import 'package:discover_module/provider_class/events_provider.dart';
|
||||||
import 'package:discover_module/provider_class/hcp%20_provider.dart';
|
import 'package:discover_module/provider_class/hcp%20_provider.dart';
|
||||||
|
import 'package:discover_module/provider_class/medicalinsightprovider.dart';
|
||||||
import 'package:discover_module/provider_class/publications_provider.dart';
|
import 'package:discover_module/provider_class/publications_provider.dart';
|
||||||
import 'package:discover_module/provider_class/single_hcpprovider.dart';
|
import 'package:discover_module/provider_class/single_hcpprovider.dart';
|
||||||
import 'package:discover_module/provider_class/trials_provider.dart';
|
import 'package:discover_module/provider_class/trials_provider.dart';
|
||||||
|
@ -15,6 +16,7 @@ import 'package:discover_module/ui_screen/interactionform/repository/hive_reposi
|
||||||
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
|
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
|
||||||
import 'package:discover_module/ui_screen/listview.dart';
|
import 'package:discover_module/ui_screen/listview.dart';
|
||||||
import 'package:discover_module/ui_screen/filters_menu.dart';
|
import 'package:discover_module/ui_screen/filters_menu.dart';
|
||||||
|
import 'package:discover_module/ui_screen/medical_insight.dart';
|
||||||
import 'package:discover_module/ui_screen/new_contacts.dart';
|
import 'package:discover_module/ui_screen/new_contacts.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
@ -70,12 +72,14 @@ Future<void> main() async {
|
||||||
ChangeNotifierProvider(create: (_) => PublicatioProvider()),
|
ChangeNotifierProvider(create: (_) => PublicatioProvider()),
|
||||||
ChangeNotifierProvider(create: (_) => EventProvider()),
|
ChangeNotifierProvider(create: (_) => EventProvider()),
|
||||||
ChangeNotifierProvider(create: (_) => TrialsProvider()),
|
ChangeNotifierProvider(create: (_) => TrialsProvider()),
|
||||||
|
ChangeNotifierProvider(create: (_) => MediacalInsightProvider()),
|
||||||
//ChangeNotifierProvider(create: (_) => ConfigDataProvider()),
|
//ChangeNotifierProvider(create: (_) => ConfigDataProvider()),
|
||||||
ChangeNotifierProvider<HiveDataRepository>(
|
ChangeNotifierProvider<HiveDataRepository>(
|
||||||
create: (_) => HiveDataRepository(
|
create: (_) => HiveDataRepository(
|
||||||
Hive.box<InteractionConfigData>('InteractionConfigDataBox'))),
|
Hive.box<InteractionConfigData>('InteractionConfigDataBox'))),
|
||||||
],
|
],
|
||||||
child: MyApp(),
|
child: MyApp(),
|
||||||
|
// child: MedicalInsight(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,6 +104,7 @@ class _MyAppState extends State<MyApp> {
|
||||||
foregroundColor: Colors.white //here you can give the text color
|
foregroundColor: Colors.white //here you can give the text color
|
||||||
)),
|
)),
|
||||||
home: const MyHomePage(title: 'Discover Module'),
|
home: const MyHomePage(title: 'Discover Module'),
|
||||||
|
// home: const MedicalInsight(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
import 'package:discover_module/service.dart/service.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
|
||||||
|
class MediacalInsightProvider extends ChangeNotifier {
|
||||||
|
final callapi = Callapi();
|
||||||
|
|
||||||
|
List med = [];
|
||||||
|
|
||||||
|
List get trialsinfo => med;
|
||||||
|
|
||||||
|
medicalinsightdata() async {
|
||||||
|
final jsonres = await callapi.getallMedicalInsightdata();
|
||||||
|
med = jsonres;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
}
|
|
@ -152,4 +152,18 @@ class Callapi {
|
||||||
print("All_trialsss: $jsontrials");
|
print("All_trialsss: $jsontrials");
|
||||||
return jsontrials;
|
return jsontrials;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getallMedicalInsightdata() async {
|
||||||
|
// const url = 'http://127.0.0.1:8000/api/users';
|
||||||
|
// const url = 'http://192.168.2.143:8082/api/users';
|
||||||
|
// const url = 'http://192.168.172.50:8082/api/users';
|
||||||
|
// const url = 'http://192.168.172.50:8081/api/users';
|
||||||
|
|
||||||
|
const url = '$curl/medicalinsight';
|
||||||
|
|
||||||
|
final response = await Dio().get(url);
|
||||||
|
|
||||||
|
final jsonresponse = response.data;
|
||||||
|
return jsonresponse;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final medicalInsight = medicalInsightFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<MedicalInsight> medicalInsightFromJson(String str) =>
|
||||||
|
List<MedicalInsight>.from(
|
||||||
|
json.decode(str).map((x) => MedicalInsight.fromJson(x)));
|
||||||
|
|
||||||
|
String medicalInsightToJson(List<MedicalInsight> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class MedicalInsight {
|
||||||
|
int id;
|
||||||
|
int interactionId;
|
||||||
|
String therapeuticArea;
|
||||||
|
String product;
|
||||||
|
String sourceType;
|
||||||
|
String topics;
|
||||||
|
String hcpName;
|
||||||
|
DateTime createdAt;
|
||||||
|
DateTime updatedAt;
|
||||||
|
|
||||||
|
MedicalInsight({
|
||||||
|
required this.id,
|
||||||
|
required this.interactionId,
|
||||||
|
required this.therapeuticArea,
|
||||||
|
required this.product,
|
||||||
|
required this.sourceType,
|
||||||
|
required this.topics,
|
||||||
|
required this.hcpName,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory MedicalInsight.fromJson(Map<String, dynamic> json) => MedicalInsight(
|
||||||
|
id: json["id"],
|
||||||
|
interactionId: json["Interaction Id"],
|
||||||
|
therapeuticArea: json["Therapeutic Area"],
|
||||||
|
product: json["Product"],
|
||||||
|
sourceType: json["Source Type"],
|
||||||
|
topics: json["Topics"],
|
||||||
|
hcpName: json["HCP Name"],
|
||||||
|
createdAt: DateTime.parse(json["created_at"]),
|
||||||
|
updatedAt: DateTime.parse(json["updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"Interaction Id": interactionId,
|
||||||
|
"Therapeutic Area": therapeuticArea,
|
||||||
|
"Product": product,
|
||||||
|
"Source Type": sourceType,
|
||||||
|
"Topics": topics,
|
||||||
|
"HCP Name": hcpName,
|
||||||
|
"created_at": createdAt.toIso8601String(),
|
||||||
|
"updated_at": updatedAt.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -56,6 +56,8 @@ class _InteractionScreen1State extends State<InteractionScreen1> {
|
||||||
|
|
||||||
var item1;
|
var item1;
|
||||||
|
|
||||||
|
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
|
|
||||||
int _currentPage = 0;
|
int _currentPage = 0;
|
||||||
late int _totalPages =
|
late int _totalPages =
|
||||||
Provider.of<InteractionProvider>(context, listen: false)
|
Provider.of<InteractionProvider>(context, listen: false)
|
||||||
|
|
|
@ -3,6 +3,7 @@ import 'package:discover_module/ui_screen/interactionform/model/save_interaction
|
||||||
import 'package:discover_module/ui_screen/interactionform/util.dart';
|
import 'package:discover_module/ui_screen/interactionform/util.dart';
|
||||||
import 'package:discover_module/ui_screen/interactionform/view_interaction_screen.dart';
|
import 'package:discover_module/ui_screen/interactionform/view_interaction_screen.dart';
|
||||||
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
|
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
|
||||||
|
import 'package:discover_module/ui_screen/new_editinteraction.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
@ -99,11 +100,19 @@ class _SavedFormListScreenState extends State<SavedFormListScreen> {
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await provider.initConfigData().then({
|
await provider.initConfigData().then({
|
||||||
|
// Navigator.push(
|
||||||
|
// context,
|
||||||
|
// MaterialPageRoute(
|
||||||
|
// builder: (BuildContext context) =>
|
||||||
|
// EditInteractionScreen(
|
||||||
|
// saveInteraction: provider
|
||||||
|
// .savedList[index],
|
||||||
|
// )))
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (BuildContext context) =>
|
builder: (BuildContext context) =>
|
||||||
EditInteractionScreen(
|
EditInteractionScreen1(
|
||||||
saveInteraction: provider
|
saveInteraction: provider
|
||||||
.savedList[index],
|
.savedList[index],
|
||||||
)))
|
)))
|
||||||
|
|
|
@ -1,3 +1,74 @@
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
// // ignore: must_be_immutable
|
||||||
|
// class InteractionTextField extends StatelessWidget {
|
||||||
|
// String labelText;
|
||||||
|
// TextEditingController controller;
|
||||||
|
// String? hintText;
|
||||||
|
// IconButton? suffixIcon;
|
||||||
|
// bool? enabled = true;
|
||||||
|
// bool? obscure = false;
|
||||||
|
// Function onChanged;
|
||||||
|
// TextInputType? inputType;
|
||||||
|
// int? maxchars = 0;
|
||||||
|
// int? maxlines = 1;
|
||||||
|
// int? minlines = 0;
|
||||||
|
// InteractionTextField(
|
||||||
|
// {super.key,
|
||||||
|
// required this.controller,
|
||||||
|
// this.hintText,
|
||||||
|
// required this.labelText,
|
||||||
|
// this.suffixIcon,
|
||||||
|
// this.enabled,
|
||||||
|
// this.maxchars,
|
||||||
|
// this.maxlines,
|
||||||
|
// this.inputType,
|
||||||
|
// this.minlines,
|
||||||
|
// required this.onChanged,
|
||||||
|
// this.obscure});
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// return TextField(
|
||||||
|
// controller: controller,
|
||||||
|
// style: const TextStyle(fontSize: 16),
|
||||||
|
// enabled: enabled,
|
||||||
|
// obscureText: obscure ?? false,
|
||||||
|
// onTap: () {},
|
||||||
|
// maxLines: maxlines ?? 1,
|
||||||
|
// minLines: minlines,
|
||||||
|
// keyboardType: inputType ?? TextInputType.name,
|
||||||
|
// onChanged: (value) {
|
||||||
|
// onChanged(value);
|
||||||
|
// },
|
||||||
|
// onSubmitted: (value) {
|
||||||
|
// onChanged(value);
|
||||||
|
// },
|
||||||
|
// inputFormatters: [
|
||||||
|
// inputType == TextInputType.number
|
||||||
|
// ? FilteringTextInputFormatter.digitsOnly
|
||||||
|
// : maxchars == 0
|
||||||
|
// ? LengthLimitingTextInputFormatter(100)
|
||||||
|
// : LengthLimitingTextInputFormatter(maxchars),
|
||||||
|
// ],
|
||||||
|
// decoration: InputDecoration(
|
||||||
|
// isDense: true,
|
||||||
|
// // contentPadding: const EdgeInsets.symmetric(
|
||||||
|
// // horizontal: 10,
|
||||||
|
// // vertical: 18,
|
||||||
|
// // ),
|
||||||
|
// contentPadding: EdgeInsets.all(13.0),
|
||||||
|
// border: OutlineInputBorder(
|
||||||
|
// borderRadius: BorderRadius.circular(10.0),
|
||||||
|
// ),
|
||||||
|
// suffixIcon: suffixIcon,
|
||||||
|
// hintText: hintText,
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,926 @@
|
||||||
|
// import 'package:discover_module/constants.dart';
|
||||||
|
// import 'package:discover_module/provider_class/medicalinsightprovider.dart';
|
||||||
|
// import 'package:discover_module/ui_screen/view_insight.dart';
|
||||||
|
// import 'package:flutter/cupertino.dart';
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:flutter/widgets.dart';
|
||||||
|
// import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
// class MedicalInsight extends StatefulWidget {
|
||||||
|
// const MedicalInsight({super.key});
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// State<MedicalInsight> createState() => _MedicalInsightState();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// class _MedicalInsightState extends State<MedicalInsight> {
|
||||||
|
// final List<Map<String, dynamic>> cardData = [
|
||||||
|
// {'id': 'ID ', 'number': 'MI1688128025', 'id1': "jjj", 'number1': '265'},
|
||||||
|
// {'id': 'ID ', 'number': 20},
|
||||||
|
// {'id': 'ID ', 'number': 30},
|
||||||
|
// // Add more data entries as needed
|
||||||
|
// ];
|
||||||
|
|
||||||
|
// String selectedOption = 'None';
|
||||||
|
// late GlobalKey actionKey;
|
||||||
|
|
||||||
|
// var item;
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// void initState() {
|
||||||
|
// actionKey = GlobalKey();
|
||||||
|
// super.initState();
|
||||||
|
// getapicall();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// void getapicall() async {
|
||||||
|
// await Provider.of<MediacalInsightProvider>(context, listen: false)
|
||||||
|
// .medicalinsightdata();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // GlobalKey actionKey;
|
||||||
|
// // final List<Map<String, dynamic>> data = [
|
||||||
|
// // {'id': 'Data ID 1', 'number': 10},
|
||||||
|
// // {'id': 'Data ID 2', 'number': 20},
|
||||||
|
// // {'id': 'Data ID 3', 'number': 30},
|
||||||
|
// // // Add more data entries as needed
|
||||||
|
// // ];
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// return Directionality(
|
||||||
|
// textDirection: TextDirection.ltr,
|
||||||
|
// child: SafeArea(
|
||||||
|
// child: Scaffold(
|
||||||
|
// backgroundColor: const Color.fromARGB(255, 222, 237, 247),
|
||||||
|
// appBar: AppBar(
|
||||||
|
// title: const Text('Medical Insight'),
|
||||||
|
// ),
|
||||||
|
// body: Consumer<MediacalInsightProvider>(
|
||||||
|
// builder: (context, value, child) {
|
||||||
|
// return Column(
|
||||||
|
// children: [
|
||||||
|
// Padding(
|
||||||
|
// padding: const EdgeInsets.all(15.0),
|
||||||
|
// child: TextField(
|
||||||
|
// //controller: _searchController,
|
||||||
|
// onChanged: (value) {
|
||||||
|
// setState(() {});
|
||||||
|
// },
|
||||||
|
// decoration: InputDecoration(
|
||||||
|
// fillColor: Constants.k2color,
|
||||||
|
// contentPadding: const EdgeInsets.symmetric(vertical: 9.0),
|
||||||
|
// border: const OutlineInputBorder(
|
||||||
|
// borderRadius: BorderRadius.only(
|
||||||
|
// bottomRight: Radius.circular(0))),
|
||||||
|
// labelText: ' Search',
|
||||||
|
// prefixIcon: const Icon(
|
||||||
|
// Icons.search,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
// children: [
|
||||||
|
// OutlinedButton(
|
||||||
|
// style: OutlinedButton.styleFrom(
|
||||||
|
// backgroundColor: Constants.k2color,
|
||||||
|
// foregroundColor: Colors.white),
|
||||||
|
// onPressed: () {},
|
||||||
|
// child: Text("Create Medical Insight"))
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// child: ListView.builder(
|
||||||
|
// physics: const ScrollPhysics(),
|
||||||
|
// // scrollDirection: Axis.vertical,
|
||||||
|
// shrinkWrap: true,
|
||||||
|
// itemCount: value.med.length,
|
||||||
|
// itemBuilder: (context, index) {
|
||||||
|
// item = value.med[index];
|
||||||
|
|
||||||
|
// print(
|
||||||
|
// "Item_Medical_insight ${item['Therapeutic Area']}");
|
||||||
|
// return GestureDetector(
|
||||||
|
// onTap: () {
|
||||||
|
// _showAlertDialog(context);
|
||||||
|
// },
|
||||||
|
// child: Padding(
|
||||||
|
// padding: const EdgeInsets.all(8.0),
|
||||||
|
// child: Card(
|
||||||
|
// surfaceTintColor: Colors.white,
|
||||||
|
// // shape: RoundedRectangleBorder(
|
||||||
|
// // side: BorderSide(color: Colors.black, width: 1),
|
||||||
|
// // borderRadius: BorderRadius.only(
|
||||||
|
// // bottomRight: Radius.circular(30)),
|
||||||
|
// // ),
|
||||||
|
// child: SizedBox(
|
||||||
|
// width: MediaQuery.sizeOf(context).width,
|
||||||
|
// child: ListTile(
|
||||||
|
// title: Column(
|
||||||
|
// // crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
// children: [
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "ID",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight: FontWeight.bold),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['id'].toString(),
|
||||||
|
// textAlign: TextAlign.left,
|
||||||
|
// style: const TextStyle(fontSize: 16),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// // Row(
|
||||||
|
// // mainAxisAlignment:
|
||||||
|
// // MainAxisAlignment.spaceBetween,
|
||||||
|
// // children: [
|
||||||
|
// // Text(
|
||||||
|
// // "Interaction Id",
|
||||||
|
// // style: TextStyle(
|
||||||
|
// // fontSize: 16,
|
||||||
|
// // fontWeight: FontWeight.bold),
|
||||||
|
// // ),
|
||||||
|
// // Text(
|
||||||
|
// // "pokn".toString(),
|
||||||
|
// // style: TextStyle(fontSize: 16),
|
||||||
|
// // ),
|
||||||
|
// // ],
|
||||||
|
// // ),
|
||||||
|
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment:
|
||||||
|
// MainAxisAlignment.spaceBetween,
|
||||||
|
// children: [
|
||||||
|
// const Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Therapeutic Area",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight:
|
||||||
|
// FontWeight.bold),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Therapeutic Area']
|
||||||
|
// .toString(),
|
||||||
|
// style: const TextStyle(
|
||||||
|
// fontSize: 16),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment:
|
||||||
|
// MainAxisAlignment.spaceBetween,
|
||||||
|
// children: [
|
||||||
|
// const Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Product",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight:
|
||||||
|
// FontWeight.bold),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Product'].toString(),
|
||||||
|
// style: const TextStyle(
|
||||||
|
// fontSize: 16),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment:
|
||||||
|
// MainAxisAlignment.spaceBetween,
|
||||||
|
// children: [
|
||||||
|
// const Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Source Type",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight:
|
||||||
|
// FontWeight.bold),
|
||||||
|
// ),
|
||||||
|
// )),
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Source Type'].toString(),
|
||||||
|
// style: const TextStyle(
|
||||||
|
// fontSize: 16),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment:
|
||||||
|
// MainAxisAlignment.spaceBetween,
|
||||||
|
// children: [
|
||||||
|
// const Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Topics",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight:
|
||||||
|
// FontWeight.bold),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Topics'].toString(),
|
||||||
|
// style: const TextStyle(
|
||||||
|
// fontSize: 16),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Column(
|
||||||
|
// children: [
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Icon(
|
||||||
|
// Icons.person,
|
||||||
|
// size: 20,
|
||||||
|
// ),
|
||||||
|
// Text(
|
||||||
|
// "pooja",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 14.0),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Icon(
|
||||||
|
// Icons.calendar_today,
|
||||||
|
// size: 20,
|
||||||
|
// ),
|
||||||
|
// Text(
|
||||||
|
// "11/11/2022 ",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 14.0),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment:
|
||||||
|
// Alignment.centerRight,
|
||||||
|
// child: OutlinedButton(
|
||||||
|
// style:
|
||||||
|
// OutlinedButton.styleFrom(
|
||||||
|
// shape:
|
||||||
|
// CircleBorder()),
|
||||||
|
// onPressed: () {
|
||||||
|
// // final RenderBox renderBox =
|
||||||
|
// // actionKey.currentContext!
|
||||||
|
// // .findRenderObject();
|
||||||
|
// // final position = renderBox
|
||||||
|
// // .localToGlobal(Offset.zero);
|
||||||
|
// final RenderBox renderBox =
|
||||||
|
// actionKey
|
||||||
|
// .currentContext!
|
||||||
|
// .findRenderObject()
|
||||||
|
// as RenderBox;
|
||||||
|
// final position =
|
||||||
|
// renderBox.localToGlobal(
|
||||||
|
// Offset.zero);
|
||||||
|
|
||||||
|
// showMenu(
|
||||||
|
// context: context,
|
||||||
|
// position:
|
||||||
|
// RelativeRect.fromLTRB(
|
||||||
|
// position.dx,
|
||||||
|
// position.dy +
|
||||||
|
// renderBox
|
||||||
|
// .size.height,
|
||||||
|
// position.dx +
|
||||||
|
// renderBox
|
||||||
|
// .size.width,
|
||||||
|
// position.dy +
|
||||||
|
// renderBox
|
||||||
|
// .size.height +
|
||||||
|
// 10,
|
||||||
|
// ),
|
||||||
|
// items: <PopupMenuEntry<
|
||||||
|
// String>>[
|
||||||
|
// PopupMenuItem<String>(
|
||||||
|
// value: 'Option 1',
|
||||||
|
// child:
|
||||||
|
// Text('Option 1'),
|
||||||
|
// ),
|
||||||
|
// PopupMenuItem<String>(
|
||||||
|
// value: 'Option 2',
|
||||||
|
// child:
|
||||||
|
// Text('Option 2'),
|
||||||
|
// ),
|
||||||
|
// PopupMenuItem<String>(
|
||||||
|
// value: 'Option 3',
|
||||||
|
// child:
|
||||||
|
// Text('Option 3'),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ).then((value) {
|
||||||
|
// if (value != null) {
|
||||||
|
// setState(() {
|
||||||
|
// selectedOption =
|
||||||
|
// value;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// child: Icon(
|
||||||
|
// Icons.more_horiz_rounded,
|
||||||
|
// // color: Constants.k2color,
|
||||||
|
// ),
|
||||||
|
// )),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// // shape: BorderRadius.only(bottomRight: Radius.circular(50)),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// );
|
||||||
|
// }),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
// void _showAlertDialog(BuildContext context) {
|
||||||
|
// showDialog(
|
||||||
|
// context: context,
|
||||||
|
// builder: (BuildContext context) {
|
||||||
|
// return AlertDialog(
|
||||||
|
// // title: Text('Alert'),
|
||||||
|
// content: const MyWidget22(),
|
||||||
|
// actions: <Widget>[
|
||||||
|
// TextButton(
|
||||||
|
// child: const Text('Close'),
|
||||||
|
// onPressed: () {
|
||||||
|
// Navigator.of(context).pop();
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
import 'package:discover_module/constants.dart';
|
||||||
|
import 'package:discover_module/provider_class/medicalinsightprovider.dart';
|
||||||
|
import 'package:discover_module/ui_screen/view_insight.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:adoptive_calendar/adoptive_calendar.dart';
|
||||||
|
|
||||||
|
class MedicalInsight extends StatefulWidget {
|
||||||
|
const MedicalInsight({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<MedicalInsight> createState() => _MedicalInsightState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _MedicalInsightState extends State<MedicalInsight> {
|
||||||
|
final List<Map<String, dynamic>> cardData = [
|
||||||
|
{'id': 'ID ', 'number': 'MI1688128025', 'id1': "jjj", 'number1': '265'},
|
||||||
|
{'id': 'ID ', 'number': 20},
|
||||||
|
{'id': 'ID ', 'number': 30},
|
||||||
|
// Add more data entries as needed
|
||||||
|
];
|
||||||
|
|
||||||
|
String selectedOption = 'None';
|
||||||
|
late GlobalKey actionKey;
|
||||||
|
// DateTime? pickedDate;
|
||||||
|
|
||||||
|
var item;
|
||||||
|
final TextEditingController textController = TextEditingController();
|
||||||
|
|
||||||
|
DateTime? selectedDate;
|
||||||
|
|
||||||
|
bool calview = false;
|
||||||
|
String? start, end;
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
actionKey = GlobalKey();
|
||||||
|
super.initState();
|
||||||
|
getapicall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void getapicall() async {
|
||||||
|
await Provider.of<MediacalInsightProvider>(context, listen: false)
|
||||||
|
.medicalinsightdata();
|
||||||
|
}
|
||||||
|
|
||||||
|
// GlobalKey actionKey;
|
||||||
|
// final List<Map<String, dynamic>> data = [
|
||||||
|
// {'id': 'Data ID 1', 'number': 10},
|
||||||
|
// {'id': 'Data ID 2', 'number': 20},
|
||||||
|
// {'id': 'Data ID 3', 'number': 30},
|
||||||
|
// // Add more data entries as needed
|
||||||
|
// ];
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Directionality(
|
||||||
|
textDirection: TextDirection.ltr,
|
||||||
|
child: SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: const Color.fromARGB(255, 222, 237, 247),
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('Medical Insight'),
|
||||||
|
actions: [
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
calview = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Icon(Icons.calendar_month))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: Consumer<MediacalInsightProvider>(
|
||||||
|
builder: (context, value, child) {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
// GestureDetector(
|
||||||
|
// onTap: () => _selectDate(context),
|
||||||
|
// child: AbsorbPointer(
|
||||||
|
// child: TextField(
|
||||||
|
// controller: textController,
|
||||||
|
// decoration: InputDecoration(
|
||||||
|
// focusedBorder: InputBorder.none,
|
||||||
|
// enabledBorder: InputBorder.none,
|
||||||
|
// contentPadding: EdgeInsets.all(10.0),
|
||||||
|
// labelText: "date",
|
||||||
|
// labelStyle:
|
||||||
|
// TextStyle(color: Colors.black, fontSize: 16),
|
||||||
|
// // pass the hint text parameter here
|
||||||
|
// hintStyle: TextStyle(color: Colors.black, fontSize: 16),
|
||||||
|
// suffixIcon: Icon(Icons.calendar_today),
|
||||||
|
// ),
|
||||||
|
// style: TextStyle(color: Colors.black, fontSize: 18),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
Visibility(
|
||||||
|
visible: calview,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
OutlinedButton(
|
||||||
|
onPressed: () {
|
||||||
|
_selectDate(context);
|
||||||
|
},
|
||||||
|
child:
|
||||||
|
start == null ? Text('Start Date') : Text(start!),
|
||||||
|
),
|
||||||
|
OutlinedButton(
|
||||||
|
onPressed: () {
|
||||||
|
_selectDate1(context);
|
||||||
|
},
|
||||||
|
child: end == null ? Text('Start Date') : Text(end!),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: TextField(
|
||||||
|
//controller: _searchController,
|
||||||
|
onChanged: (value) {
|
||||||
|
setState(() {});
|
||||||
|
},
|
||||||
|
decoration: InputDecoration(
|
||||||
|
fillColor: Constants.k2color,
|
||||||
|
contentPadding: const EdgeInsets.symmetric(vertical: 9.0),
|
||||||
|
border: const OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.only(
|
||||||
|
bottomRight: Radius.circular(0))),
|
||||||
|
labelText: ' Search',
|
||||||
|
prefixIcon: const Icon(
|
||||||
|
Icons.search,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
OutlinedButton(
|
||||||
|
style: OutlinedButton.styleFrom(
|
||||||
|
backgroundColor: Constants.k2color,
|
||||||
|
foregroundColor: Colors.white),
|
||||||
|
onPressed: () {},
|
||||||
|
child: Text("Create Medical Insight"))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: ListView.builder(
|
||||||
|
physics: const ScrollPhysics(),
|
||||||
|
// scrollDirection: Axis.vertical,
|
||||||
|
shrinkWrap: true,
|
||||||
|
itemCount: value.med.length,
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
item = value.med[index];
|
||||||
|
|
||||||
|
print(
|
||||||
|
"Item_Medical_insight ${item['Therapeutic Area']}");
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
_showAlertDialog(context);
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Card(
|
||||||
|
surfaceTintColor: Colors.white,
|
||||||
|
// shape: RoundedRectangleBorder(
|
||||||
|
// side: BorderSide(color: Colors.black, width: 1),
|
||||||
|
// borderRadius: BorderRadius.only(
|
||||||
|
// bottomRight: Radius.circular(30)),
|
||||||
|
// ),
|
||||||
|
child: SizedBox(
|
||||||
|
width: MediaQuery.sizeOf(context).width,
|
||||||
|
child: ListTile(
|
||||||
|
title: Column(
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
// Text(
|
||||||
|
// "Acute neurology is the <b> therapeutic </b> area of the medical insight for Product A. The age of treatment is the topic of interest for this source type publication."),
|
||||||
|
|
||||||
|
RichText(
|
||||||
|
text: TextSpan(
|
||||||
|
text: 'Acute neurology is the',
|
||||||
|
style: DefaultTextStyle.of(context)
|
||||||
|
.style,
|
||||||
|
children: const <TextSpan>[
|
||||||
|
TextSpan(
|
||||||
|
text: ' therapeutic area ',
|
||||||
|
style: TextStyle(
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.bold)),
|
||||||
|
TextSpan(
|
||||||
|
text:
|
||||||
|
'of the medical insight for Product A.'),
|
||||||
|
TextSpan(
|
||||||
|
text: 'The age of treatment',
|
||||||
|
style: TextStyle(
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.bold)),
|
||||||
|
TextSpan(
|
||||||
|
text:
|
||||||
|
' is the topic of interest for this source type'),
|
||||||
|
TextSpan(
|
||||||
|
text: ' publication.',
|
||||||
|
style: TextStyle(
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.bold)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.person,
|
||||||
|
size: 20,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"pooja",
|
||||||
|
style:
|
||||||
|
TextStyle(fontSize: 14.0),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.calendar_today,
|
||||||
|
size: 20,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"11/11/2022 ",
|
||||||
|
style:
|
||||||
|
TextStyle(fontSize: 14.0),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Therapeutic Area",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// fontWeight: FontWeight.normal),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Therapeutic Area'].toString(),
|
||||||
|
// style: const TextStyle(fontSize: 14),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Product",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// fontWeight: FontWeight.normal),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Product'].toString(),
|
||||||
|
// style: const TextStyle(fontSize: 14),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Source Type",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// fontWeight: FontWeight.normal),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Source Type'].toString(),
|
||||||
|
// style: const TextStyle(fontSize: 14),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// "Topics",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// fontWeight: FontWeight.normal),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Align(
|
||||||
|
// alignment: Alignment.centerLeft,
|
||||||
|
// child: Text(
|
||||||
|
// item['Topics'].toString(),
|
||||||
|
// style: const TextStyle(fontSize: 14),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Column(
|
||||||
|
// children: [
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Icon(
|
||||||
|
// Icons.person,
|
||||||
|
// size: 20,
|
||||||
|
// ),
|
||||||
|
// Text(
|
||||||
|
// "pooja",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 14.0),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Icon(
|
||||||
|
// Icons.calendar_today,
|
||||||
|
// size: 20,
|
||||||
|
// ),
|
||||||
|
// Text(
|
||||||
|
// "11/11/2022 ",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 14.0),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// flex: 1,
|
||||||
|
// child: Align(
|
||||||
|
// alignment:
|
||||||
|
// Alignment.centerRight,
|
||||||
|
// child: OutlinedButton(
|
||||||
|
// style:
|
||||||
|
// OutlinedButton.styleFrom(
|
||||||
|
// shape:
|
||||||
|
// CircleBorder()),
|
||||||
|
// onPressed: () {
|
||||||
|
// // final RenderBox renderBox =
|
||||||
|
// // actionKey.currentContext!
|
||||||
|
// // .findRenderObject();
|
||||||
|
// // final position = renderBox
|
||||||
|
// // .localToGlobal(Offset.zero);
|
||||||
|
// final RenderBox renderBox =
|
||||||
|
// actionKey
|
||||||
|
// .currentContext!
|
||||||
|
// .findRenderObject()
|
||||||
|
// as RenderBox;
|
||||||
|
// final position =
|
||||||
|
// renderBox.localToGlobal(
|
||||||
|
// Offset.zero);
|
||||||
|
|
||||||
|
// showMenu(
|
||||||
|
// context: context,
|
||||||
|
// position:
|
||||||
|
// RelativeRect.fromLTRB(
|
||||||
|
// position.dx,
|
||||||
|
// position.dy +
|
||||||
|
// renderBox
|
||||||
|
// .size.height,
|
||||||
|
// position.dx +
|
||||||
|
// renderBox
|
||||||
|
// .size.width,
|
||||||
|
// position.dy +
|
||||||
|
// renderBox
|
||||||
|
// .size.height +
|
||||||
|
// 10,
|
||||||
|
// ),
|
||||||
|
// items: <PopupMenuEntry<
|
||||||
|
// String>>[
|
||||||
|
// PopupMenuItem<String>(
|
||||||
|
// value: 'Option 1',
|
||||||
|
// child:
|
||||||
|
// Text('Option 1'),
|
||||||
|
// ),
|
||||||
|
// PopupMenuItem<String>(
|
||||||
|
// value: 'Option 2',
|
||||||
|
// child:
|
||||||
|
// Text('Option 2'),
|
||||||
|
// ),
|
||||||
|
// PopupMenuItem<String>(
|
||||||
|
// value: 'Option 3',
|
||||||
|
// child:
|
||||||
|
// Text('Option 3'),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ).then((value) {
|
||||||
|
// if (value != null) {
|
||||||
|
// setState(() {
|
||||||
|
// selectedOption =
|
||||||
|
// value;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// child: Icon(
|
||||||
|
// Icons.more_horiz_rounded,
|
||||||
|
// // color: Constants.k2color,
|
||||||
|
// ),
|
||||||
|
// )),
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// shape: BorderRadius.only(bottomRight: Radius.circular(50)),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _showAlertDialog(BuildContext context) {
|
||||||
|
showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) {
|
||||||
|
return AlertDialog(
|
||||||
|
// title: Text('Alert'),
|
||||||
|
content: const MyWidget22(),
|
||||||
|
actions: <Widget>[
|
||||||
|
TextButton(
|
||||||
|
child: const Text('Close'),
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<Null> _selectDate(BuildContext context) async {
|
||||||
|
final DateTime? picked = await showDatePicker(
|
||||||
|
context: context,
|
||||||
|
initialDate: selectedDate,
|
||||||
|
firstDate: DateTime(1901, 1),
|
||||||
|
lastDate: DateTime(2100));
|
||||||
|
if (picked != null && picked != selectedDate)
|
||||||
|
setState(() {
|
||||||
|
selectedDate = picked;
|
||||||
|
String convertedDateTime =
|
||||||
|
"${picked.year.toString()}-${picked.month.toString().padLeft(2, '0')}-${picked.day.toString().padLeft(2, '0')}";
|
||||||
|
// widget.textController.value = TextEditingValue(text: picked.toString());
|
||||||
|
textController.value = TextEditingValue(text: convertedDateTime);
|
||||||
|
|
||||||
|
start = convertedDateTime;
|
||||||
|
;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<Null> _selectDate1(BuildContext context) async {
|
||||||
|
final DateTime? picked = await showDatePicker(
|
||||||
|
context: context,
|
||||||
|
initialDate: selectedDate,
|
||||||
|
firstDate: DateTime(1901, 1),
|
||||||
|
lastDate: DateTime(2100));
|
||||||
|
if (picked != null && picked != selectedDate)
|
||||||
|
setState(() {
|
||||||
|
selectedDate = picked;
|
||||||
|
String convertedDateTime =
|
||||||
|
"${picked.year.toString()}-${picked.month.toString().padLeft(2, '0')}-${picked.day.toString().padLeft(2, '0')}";
|
||||||
|
// widget.textController.value = TextEditingValue(text: picked.toString());
|
||||||
|
textController.value = TextEditingValue(text: convertedDateTime);
|
||||||
|
|
||||||
|
end = convertedDateTime;
|
||||||
|
;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -17,6 +17,7 @@ import 'package:discover_module/ui_screen/interactionform/model/save_interaction
|
||||||
import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart';
|
import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart';
|
||||||
import 'package:discover_module/ui_screen/interactionform/view_interaction_screen.dart';
|
import 'package:discover_module/ui_screen/interactionform/view_interaction_screen.dart';
|
||||||
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
|
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
|
||||||
|
import 'package:discover_module/ui_screen/new_editinteraction.dart';
|
||||||
import 'package:discover_module/ui_screen/newformlist.dart';
|
import 'package:discover_module/ui_screen/newformlist.dart';
|
||||||
import 'package:discover_module/ui_screen/publication_data.dart';
|
import 'package:discover_module/ui_screen/publication_data.dart';
|
||||||
import 'package:expandable/expandable.dart';
|
import 'package:expandable/expandable.dart';
|
||||||
|
@ -1607,7 +1608,7 @@ class _NewProfileState extends State<NewProfile> {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (BuildContext context) => EditInteractionScreen(
|
builder: (BuildContext context) => EditInteractionScreen1(
|
||||||
saveInteraction: provider.savedList[index],
|
saveInteraction: provider.savedList[index],
|
||||||
)))
|
)))
|
||||||
});
|
});
|
||||||
|
|
|
@ -5,6 +5,7 @@ import 'package:discover_module/ui_screen/interactionform/interactionprovider.da
|
||||||
import 'package:discover_module/ui_screen/interactionform/model/save_interaction.dart';
|
import 'package:discover_module/ui_screen/interactionform/model/save_interaction.dart';
|
||||||
import 'package:discover_module/ui_screen/interactionform/new_dynamicform.dart';
|
import 'package:discover_module/ui_screen/interactionform/new_dynamicform.dart';
|
||||||
import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart';
|
import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart';
|
||||||
|
import 'package:discover_module/ui_screen/medical_insight.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
@ -160,25 +161,7 @@ class _FormListState extends State<FormList> {
|
||||||
},
|
},
|
||||||
trailing: const Icon(Icons.arrow_forward_ios),
|
trailing: const Icon(Icons.arrow_forward_ios),
|
||||||
),
|
),
|
||||||
const Divider(),
|
|
||||||
ListTile(
|
|
||||||
title: const Text(
|
|
||||||
"New Medical Insight",
|
|
||||||
style: TextStyle(fontSize: 18.0),
|
|
||||||
),
|
|
||||||
onTap: () async {
|
|
||||||
final ConfigDataProvider configDataProvider =
|
|
||||||
ConfigDataProvider();
|
|
||||||
|
|
||||||
await configDataProvider.initConfigUIDataMedical();
|
|
||||||
Navigator.push(
|
|
||||||
context,
|
|
||||||
MaterialPageRoute(
|
|
||||||
builder: (context) =>
|
|
||||||
const InteractionListScreen()));
|
|
||||||
},
|
|
||||||
trailing: Icon(Icons.arrow_forward_ios),
|
|
||||||
),
|
|
||||||
Divider(),
|
Divider(),
|
||||||
ListTile(
|
ListTile(
|
||||||
title: const Text(
|
title: const Text(
|
||||||
|
@ -199,6 +182,26 @@ class _FormListState extends State<FormList> {
|
||||||
),
|
),
|
||||||
|
|
||||||
const Divider(),
|
const Divider(),
|
||||||
|
|
||||||
|
ListTile(
|
||||||
|
title: const Text(
|
||||||
|
"Medical Insight",
|
||||||
|
style: TextStyle(fontSize: 18.0),
|
||||||
|
),
|
||||||
|
onTap: () async {
|
||||||
|
final ConfigDataProvider configDataProvider =
|
||||||
|
ConfigDataProvider();
|
||||||
|
|
||||||
|
await configDataProvider.initConfigUIDataMedical();
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) =>
|
||||||
|
const MedicalInsight()));
|
||||||
|
},
|
||||||
|
trailing: Icon(Icons.arrow_forward_ios),
|
||||||
|
),
|
||||||
|
const Divider(),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
|
@ -283,6 +286,23 @@ class _FormListState extends State<FormList> {
|
||||||
trailing: const Icon(Icons.arrow_forward_ios),
|
trailing: const Icon(Icons.arrow_forward_ios),
|
||||||
),
|
),
|
||||||
Divider(),
|
Divider(),
|
||||||
|
ListTile(
|
||||||
|
title: const Text(
|
||||||
|
"Medical Insight",
|
||||||
|
style: TextStyle(fontSize: 18.0),
|
||||||
|
),
|
||||||
|
onTap: () async {
|
||||||
|
final ConfigDataProvider configDataProvider =
|
||||||
|
ConfigDataProvider();
|
||||||
|
await configDataProvider.initConfigUIDataEng();
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) => const MedicalInsight()));
|
||||||
|
},
|
||||||
|
trailing: const Icon(Icons.arrow_forward_ios),
|
||||||
|
),
|
||||||
|
Divider(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
import 'package:discover_module/constants.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class MyWidget22 extends StatefulWidget {
|
||||||
|
const MyWidget22({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<MyWidget22> createState() => _MyWidget22State();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _MyWidget22State extends State<MyWidget22> {
|
||||||
|
final List<Map<String, dynamic>> cardData = [
|
||||||
|
{'id': 'ID ', 'number': 10, 'id1': "jjj", 'number1': '265'},
|
||||||
|
{'id': 'ID ', 'number': 20},
|
||||||
|
{'id': 'ID ', 'number': 30},
|
||||||
|
// Add more data entries as needed
|
||||||
|
];
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
ListTile(
|
||||||
|
title: Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.edit,
|
||||||
|
color: Constants.k2color,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
cardData[0]['id'],
|
||||||
|
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
cardData[0]['number'].toString(),
|
||||||
|
style: TextStyle(fontSize: 16),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Interaction Id",
|
||||||
|
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
cardData[0]['number'].toString(),
|
||||||
|
style: TextStyle(fontSize: 16),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Therapeutic Area",
|
||||||
|
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
cardData[0]['number'].toString(),
|
||||||
|
style: TextStyle(fontSize: 16),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Product",
|
||||||
|
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
cardData[0]['number'].toString(),
|
||||||
|
style: TextStyle(fontSize: 16),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
16
pubspec.lock
16
pubspec.lock
|
@ -9,6 +9,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "67.0.0"
|
version: "67.0.0"
|
||||||
|
adoptive_calendar:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: adoptive_calendar
|
||||||
|
sha256: "504abaacaba8f433a9d829d74153bf365fe330b7b40760e525a3445f593181c3"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.8"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -816,6 +824,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.0+1"
|
version: "0.3.0+1"
|
||||||
|
popup_menu:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: popup_menu
|
||||||
|
sha256: a6d7f39669cd010818063233f287822d4fcfcdc1d872b4bae72d9f3caf848e3a
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
provider:
|
provider:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -63,6 +63,8 @@ dependencies:
|
||||||
expandable: ^5.0.1
|
expandable: ^5.0.1
|
||||||
flutter_carousel_widget: ^2.2.0
|
flutter_carousel_widget: ^2.2.0
|
||||||
carousel_slider: ^4.2.1
|
carousel_slider: ^4.2.1
|
||||||
|
popup_menu: ^2.0.0
|
||||||
|
adoptive_calendar: ^0.1.8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue