Commit 0fdc896b authored by Tohap Maruli Pasaribu's avatar Tohap Maruli Pasaribu

open-Popup on Action="View" in Data User

parent 0ea56a1f
...@@ -13,6 +13,380 @@ class UserControl extends StatefulWidget { ...@@ -13,6 +13,380 @@ class UserControl extends StatefulWidget {
class _UserControlState extends State<UserControl> { class _UserControlState extends State<UserControl> {
final formKey = GlobalKey<FormState>(); final formKey = GlobalKey<FormState>();
final nameRSController = TextEditingController();
final phoneRSController = TextEditingController();
final addressRSController = TextEditingController();
final namePICController = TextEditingController();
final phonePICController = TextEditingController();
final addressPICController = TextEditingController();
final emailPICController = TextEditingController();
final passwordController = TextEditingController();
void viewUser(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
// title: Text("Alert!!!"),
// content: Text("Your are awesome!"),
content: Form(
child: Container(
padding: EdgeInsets.only(
left: screenSize.width * 0.045,
top: screenSize.height * 0.01),
width: screenSize.width * 0.50,
height: screenSize.height * 0.55,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
const Spacer(),
Container(
padding: EdgeInsets.only(left: screenSize.width * 0.15),
height: screenSize.width * 0.03,
child: Image.asset("assets/logo/medapp-logo.png"),
),
const SizedBox(height: 20),
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Row(
children: [
Icon(Icons.drive_file_rename_outline,
color: Colors.grey[500],
size: screenSize.width * 0.01),
const SizedBox(width: 10),
const Text("Nama Rumah Sakit",
style: TextStyle(fontSize: 13))
],
),
const SizedBox(height: 5),
Row(
children: [
SizedBox(
height: 60,
width: screenSize.width * 0.2,
child: TextFormField(
controller: nameRSController,
textAlign: TextAlign.start,
decoration: InputDecoration(
labelText: "Nama Rumah Sakit",
labelStyle: TextStyle(fontSize: 13),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(5.0))),
validator: (value) {
if (value == null || value.isEmpty) {
return "Nama Rumah Sakit tidak boleh kosong";
} else {
return null;
}
},
),
)
],
)
],
),
const SizedBox(width: 30),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
// ===============nama pic=============
Row(
children: [
Icon(
Icons.drive_file_rename_outline,
color: Colors.grey[500],
size: screenSize.width * 0.01,
),
const SizedBox(
width: 10,
),
const Text(
"Nama PIC",
style: TextStyle(fontSize: 13),
),
],
),
const SizedBox(
height: 5,
),
Row(
children: [
SizedBox(
height: 60,
width: screenSize.width * 0.2,
child: TextFormField(
controller: namePICController,
textAlign: TextAlign.start,
decoration: InputDecoration(
labelText: "Nama PIC",
labelStyle: TextStyle(fontSize: 13),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(5.0),
)),
validator: (value) {
if (value == null || value.isEmpty) {
return "Nama PIC tidak boleh kosong";
}
return null;
},
),
)
],
),
// ===============akhir nama pic=============
],
)
],
),
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
// ===============alamat rs==========
Row(
children: [
Icon(
Icons.add_home_work_sharp,
color: Colors.grey[500],
size: screenSize.width * 0.01,
),
const SizedBox(
width: 10,
),
const Text(
"Alamat Rumah Sakit",
style: TextStyle(fontSize: 13),
),
],
),
const SizedBox(
height: 5,
),
Row(
children: [
SizedBox(
height: 60,
width: screenSize.width * 0.2,
child: TextFormField(
controller: addressRSController,
textAlign: TextAlign.start,
validator: (value) {
if (value == null || value.isEmpty) {
return "Nomor Alamat Rumah Sakit tidak boleh kosong";
}
return null;
},
decoration: InputDecoration(
labelText: "Nomor Alamat Rumah Sakit",
labelStyle: TextStyle(fontSize: 13),
hintStyle: const TextStyle(),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(5.0),
)),
),
)
],
),
// ===============akhir alamat rs==========
],
),
const SizedBox(
width: 30,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
// ===============email pic==========
Row(
children: [
Icon(
Icons.email_outlined,
color: Colors.grey[500],
size: screenSize.width * 0.01,
),
const SizedBox(
width: 10,
),
const Text(
"Email PIC",
style: TextStyle(fontSize: 13),
),
],
),
const SizedBox(
height: 5,
),
Row(
children: [
SizedBox(
height: 60,
width: screenSize.width * 0.2,
child: TextFormField(
controller: emailPICController,
textAlign: TextAlign.start,
validator: (value) {
if (value == null || value.isEmpty) {
return "Email PIC tidak boleh kosong";
}
return null;
},
decoration: InputDecoration(
labelText: "Email PIC",
labelStyle: TextStyle(fontSize: 13),
hintStyle: const TextStyle(),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(5.0),
)),
),
)
],
),
// ===============akhir email pic==========
],
),
],
),
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
// ===============telepon rs==========
Row(
children: [
Icon(
Icons.phone_android,
color: Colors.grey[500],
size: screenSize.width * 0.01,
),
const SizedBox(
width: 10,
),
const Text(
"No Telepon Rumah Sakit",
style: TextStyle(fontSize: 13),
),
],
),
const SizedBox(
height: 5,
),
Row(
children: [
SizedBox(
height: 60,
width: screenSize.width * 0.2,
child: TextFormField(
controller: phoneRSController,
textAlign: TextAlign.start,
validator: (value) {
if (value == null || value.isEmpty) {
return "Nomor Telepon Rumah Sakit tidak boleh kosong";
}
return null;
},
decoration: InputDecoration(
labelText: "Nomor Telepon Rumah Sakit",
labelStyle: TextStyle(fontSize: 13),
hintStyle: const TextStyle(),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(5.0),
)),
),
)
],
),
// ===============akhir telepon rs==========
],
),
const SizedBox(
width: 30,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
// ===============telepon pic==========
Row(
children: [
Icon(
Icons.phone_android,
color: Colors.grey[500],
size: screenSize.width * 0.01,
),
const SizedBox(
width: 10,
),
const Text(
"No Telepon PIC",
style: TextStyle(fontSize: 13),
),
],
),
const SizedBox(
height: 5,
),
Row(
children: [
SizedBox(
height: 60,
width: screenSize.width * 0.2,
child: TextFormField(
controller: phonePICController,
textAlign: TextAlign.start,
validator: (value) {
if (value == null || value.isEmpty) {
return "Nomor Telepon PIC tidak boleh kosong";
}
return null;
},
decoration: InputDecoration(
labelText: "Nomor Telepon PIC",
labelStyle: TextStyle(fontSize: 13),
hintStyle: const TextStyle(),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(5.0),
)),
),
)
],
),
// ===============akhir telepon pic==========
],
),
],
),
],
),
)),
actions: [
MaterialButton(
child: Text("OK"),
onPressed: () {
Navigator.of(context).pop();
})
],
);
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size; var screenSize = MediaQuery.of(context).size;
...@@ -107,15 +481,26 @@ class _UserControlState extends State<UserControl> { ...@@ -107,15 +481,26 @@ class _UserControlState extends State<UserControl> {
// DataCell(Text(pgm['emailPic'].toString())), // DataCell(Text(pgm['emailPic'].toString())),
DataCell(Text(pgm['statusUser'].toString())), DataCell(Text(pgm['statusUser'].toString())),
DataCell(PopupMenuButton( DataCell(PopupMenuButton(
icon: Icon(Icons.more_vert_outlined), icon: Icon(Icons.more_vert_outlined),
itemBuilder: (context) => [ itemBuilder: (context) => [
PopupMenuItem( PopupMenuItem(
child: Text("Edit"), value: 1), child: Text("Edit"), value: 1),
PopupMenuItem( PopupMenuItem(
child: Text("Delete"), value: 2), child: Text("Delete"), value: 2),
PopupMenuItem( PopupMenuItem(child: Text("View"), value: 3)
child: Text("View"), value: 3) ],
])) onSelected: (value) {
if (value == 1) {
print("you choose Edit...");
// viewUser(context);
} else if (value == 2) {
print("you choose Delete...");
} else if (value == 3) {
print("you choose View...");
viewUser(context);
}
},
))
]); ]);
}).toList()); }).toList());
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment