add success message to add patient, edit patient,patient notes, patient files.

update note and file view to match UI.
restrict file types in file uploud.
add image viewer
This commit is contained in:
2024-07-04 13:34:55 +02:00
parent 0c40888907
commit 643f4cd39d
34 changed files with 377 additions and 112 deletions

View File

@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:patient_manager/components/BuildPdfView.dart';
import 'package:patient_manager/components/BuildFileView.dart';
import 'package:patient_manager/components/mybutton.dart';
import 'package:patient_manager/objects/files.dart';
import 'dart:js' as js;
//import 'dart:js' as js;
import "package:universal_html/html.dart" as html;
class BuildFilesList extends StatefulWidget {
final List<PFile> files;
@@ -14,9 +16,78 @@ class BuildFilesList extends StatefulWidget {
State<BuildFilesList> createState() => _BuildFilesListState();
}
int indexOn = 0;
class _BuildFilesListState extends State<BuildFilesList> {
int indexOn = 0;
void viewFilePopUp(String filename) {
showDialog(
context: context,
builder: (context) => Dialog(
child: Stack(
children: [
Container(
padding: const EdgeInsets.all(10.0),
width: 800.0,
//height: 475.0,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(25.0),
border: Border.all(color: Colors.blueAccent, width: 5.0),
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(
filename,
textAlign: TextAlign.center,
style: const TextStyle(
color: Colors.blueAccent,
fontSize: 35.0,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 25.0),
Expanded(
child: BuildFileView(
pdfLink: "http://localhost:9000/mih/$filename")),
SizedBox(
width: 300,
height: 100,
child: MyButton(
onTap: () {
html.window.open(
'http://localhost:9000/mih/$filename', 'download');
},
buttonText: "Dowload",
buttonColor: Colors.blueAccent,
textColor: Colors.white,
),
)
],
),
),
Positioned(
top: 5,
right: 5,
width: 50,
height: 50,
child: IconButton(
onPressed: () {
Navigator.pop(context);
},
icon: const Icon(
Icons.close,
color: Colors.red,
size: 35,
),
),
),
],
),
),
);
}
@override
Widget build(BuildContext context) {
return SizedBox(
@@ -35,36 +106,7 @@ class _BuildFilesListState extends State<BuildFilesList> {
subtitle: Text(widget.files[index].insert_date),
trailing: const Icon(Icons.arrow_forward),
onTap: () {
showDialog(
context: context,
builder: (context) => AlertDialog(
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(widget.files[index].file_name),
IconButton(
onPressed: () {
js.context.callMethod('open', [
'http://localhost:9000/mih/${widget.files[index].file_name}'
]);
//print(object)
},
icon: const Icon(Icons.download),
),
],
),
content: BuildPDFView(
pdfLink:
"http://localhost:9000/mih/${widget.files[index].file_name}"),
actions: [
TextButton(
onPressed: () {
Navigator.pop(context);
},
child: const Text("Close"))
],
),
);
viewFilePopUp(widget.files[index].file_name);
},
);
},