add access type filter

This commit is contained in:
2024-08-15 14:48:58 +02:00
parent 57c0661112
commit 146e10f1a3

View File

@@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:patient_manager/components/builders/buildAccessRequestList.dart'; import 'package:patient_manager/components/builders/buildAccessRequestList.dart';
import 'package:patient_manager/components/inputsAndButtons/mihDropdownInput.dart';
import 'package:patient_manager/components/mihAppBar.dart'; import 'package:patient_manager/components/mihAppBar.dart';
import 'package:patient_manager/components/mihLoadingCircle.dart'; import 'package:patient_manager/components/mihLoadingCircle.dart';
import 'package:patient_manager/env/env.dart'; import 'package:patient_manager/env/env.dart';
@@ -23,6 +24,8 @@ class PatientAccessRequest extends StatefulWidget {
} }
class _PatientAccessRequestState extends State<PatientAccessRequest> { class _PatientAccessRequestState extends State<PatientAccessRequest> {
TextEditingController filterController = TextEditingController();
String baseUrl = AppEnviroment.baseApiUrl; String baseUrl = AppEnviroment.baseApiUrl;
String errorCode = ""; String errorCode = "";
@@ -60,8 +63,15 @@ class _PatientAccessRequestState extends State<PatientAccessRequest> {
List<AccessRequest> templist = []; List<AccessRequest> templist = [];
for (var item in accessList) { for (var item in accessList) {
if (item.date_time.contains(datefilter)) { if (filterController.text == "All") {
templist.add(item); if (item.date_time.contains(datefilter)) {
templist.add(item);
}
} else {
if (item.date_time.contains(datefilter) &&
item.access.contains(filterController.text.toLowerCase())) {
templist.add(item);
}
} }
} }
return templist; return templist;
@@ -137,6 +147,17 @@ class _PatientAccessRequestState extends State<PatientAccessRequest> {
], ],
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
SizedBox(
width: 500,
child: MIHDropdownField(
controller: filterController,
hintText: "Access Types",
dropdownOptions: const ["All", "Approved", "Pending", "Declined"],
required: true,
editable: true,
),
),
const SizedBox(height: 10),
FutureBuilder( FutureBuilder(
future: accessRequestResults, future: accessRequestResults,
builder: (context, snapshot) { builder: (context, snapshot) {
@@ -209,6 +230,8 @@ class _PatientAccessRequestState extends State<PatientAccessRequest> {
@override @override
void initState() { void initState() {
filterController.text = "All";
filterController.addListener(refreshList);
setState(() { setState(() {
accessRequestResults = fetchAccessRequests(); accessRequestResults = fetchAccessRequests();
}); });