ajuste no cbo, pesquisa e validação do home_visit_screen.dart

This commit is contained in:
Reginaldo
2024-02-12 17:01:57 -03:00
parent 8cf5569840
commit 51711e689b
6 changed files with 213 additions and 34 deletions

View File

@@ -9,6 +9,7 @@ import 'package:rkm/screens/select_service/service_dental_screen.dart';
import 'package:rkm/screens/select_service/service_home_screen.dart';
import 'package:rkm/screens/select_service/service_individual_screen.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/dropdown_button_com_pesquisa.dart';
import 'package:rkm/widgets/switch_with_subtitle.dart';
import 'package:rkm/widgets/text_default.dart';
import 'package:rkm/widgets/title_containers.dart';
@@ -462,7 +463,6 @@ class AlertDialogDefault {
) {
double width = MediaQuery.of(context).size.width;
double height = MediaQuery.of(context).size.height;
return showDialog(
context: context,
@@ -490,14 +490,17 @@ class AlertDialogDefault {
mainAxisSize: MainAxisSize.min,
children: [
TitleContainers(title: subtitle),
DropDownButtonDefault(
DropDownButtonComPesquisa(
onChanged: (value)=>setState((){
selectProfessionals=value;
listProc.add(selectProfessionals);
setState((){});
}),
select: selectProfessionals,
title: 'Procedimento',
title: '',
list: list,
width: width
width: width*0.8,
widthContainer: width*0.75,
),
ButtonDefault(
onPressed:(){
@@ -522,10 +525,11 @@ class AlertDialogDefault {
list.length!=0
?Container(
width: width*0.8,
height: height*0.4,
height: listProc.length*70,
child: ListView.builder(
itemCount: listProc.length,
itemBuilder: (context,index) {
print(listProc.length);
return Container(
width: width * 0.8,
padding: EdgeInsets.all(10),

View File

@@ -0,0 +1,70 @@
import 'package:flutter/material.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:rkm/widgets/text_default.dart';
import '../config/color_palette.dart';
import '../config/const_variable.dart';
import 'input_search_text.dart';
class DropDownButtonComPesquisa extends StatelessWidget {
var onChanged;
String? select;
String title;
double fontSize;
List list;
double width;
double heightDinamic;
double widthContainer;
DropDownButtonComPesquisa({
required this.onChanged,
required this.select,
required this.title,
required this.list,
required this.width,
this.heightDinamic = 0.2,
this.fontSize = 15,
this.widthContainer = 300,
});
@override
Widget build(BuildContext context) {
double height = MediaQuery.of(context).size.height;
return
Container(
width: width,
height: height*heightDinamic,
margin: ConstVariable().marginHightInput,
color: ColorPalette.white,
child: ListView(
shrinkWrap: true,
children: [
TypeAheadField(
controller: TextEditingController(),
hideOnEmpty: false,
suggestionsCallback: (pattern) {
if (list != null) {
// Use toList() para converter o resultado do where em uma lista
return list.where((value) => value.toLowerCase().contains(pattern.toLowerCase())).toList();
} else {
return Future.value([]); // Retorna uma lista vazia como um Future
}
},
emptyBuilder: (context) {
return ListTile(
title: Text('Nenhum resultado encontrado'),
);
},
itemBuilder: (context, dynamic suggestion) {
return ListTile(
title: Text(suggestion),
);
},
onSelected: onChanged,
),
],
),
);
}
}

View File

@@ -20,7 +20,7 @@ class DropDownButtonDefault extends StatelessWidget {
required this.width,
this.fontSize = 15,
this.widthContainer = 300
});
});
@override
Widget build(BuildContext context) {
@@ -61,4 +61,4 @@ class DropDownButtonDefault extends StatelessWidget {
],
);
}
}
}