finished hinweise function

This commit is contained in:
Nico
2025-05-04 16:38:16 +02:00
parent a77636641d
commit d05680bc20
2 changed files with 49 additions and 2 deletions

0
flutter Normal file
View File

View File

@@ -19,9 +19,51 @@ class _HinweiseState extends State<Hinweise> {
bool heulenChecked = false; bool heulenChecked = false;
bool sonstigesChecked = false; bool sonstigesChecked = false;
// for sonstiges textfield // for sonstiges textfield
TextEditingController sonstigesController = TextEditingController(); TextEditingController sonstigesController = TextEditingController();
@override
void initState() {
super.initState();
sonstigesController.addListener(updateController);
}
@override
void dispose() {
sonstigesController.dispose();
super.dispose();
}
void updateController() {
Map<String, bool> props = {
"liegestelle": liegestelleChecked,
"kadaver": kadaverChecked,
"sichtung": sichtungChecked,
"heulen": heulenChecked,
"sonstiges": sonstigesChecked
};
bool firstRun = true;
widget.hinweise.text = "";
for (String key in props.keys) {
if (!firstRun) {
widget.hinweise.text += ";";
}
if (key == "sonstiges") {
widget.hinweise.text += "$key:${sonstigesController.text}";
} else {
widget.hinweise.text += "$key:${props[key]}";
}
firstRun = false;
}
print(widget.hinweise.text);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -33,6 +75,7 @@ class _HinweiseState extends State<Hinweise> {
value: liegestelleChecked, value: liegestelleChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => liegestelleChecked = value ?? false); setState(() => liegestelleChecked = value ?? false);
updateController();
} }
), ),
@@ -41,6 +84,7 @@ class _HinweiseState extends State<Hinweise> {
value: kadaverChecked, value: kadaverChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => kadaverChecked = value ?? false); setState(() => kadaverChecked = value ?? false);
updateController();
} }
), ),
@@ -49,6 +93,7 @@ class _HinweiseState extends State<Hinweise> {
value: sichtungChecked, value: sichtungChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => sichtungChecked = value ?? false); setState(() => sichtungChecked = value ?? false);
updateController();
} }
), ),
@@ -57,18 +102,20 @@ class _HinweiseState extends State<Hinweise> {
value: heulenChecked, value: heulenChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => heulenChecked = value ?? false); setState(() => heulenChecked = value ?? false);
updateController();
} }
), ),
CheckboxListTile( CheckboxListTile(
title: Text("Sonstiges"), title: Text("Sonstiges"),
value: liegestelleChecked, value: sonstigesChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => sonstigesChecked = value ?? false); setState(() => sonstigesChecked = value ?? false);
updateController();
} }
), ),
if (sonstigesChecked) if (sonstigesChecked)
VarTextField(textController: sonstigesController, localization: "Sonstiges", dbName: "HinweiseSonstiges", required: false, dbDesignation: DatabasesEnum.excursion,) VarTextField(textController: sonstigesController, localization: "Sonstiges", dbName: "HinweiseSonstiges", required: false, dbDesignation: DatabasesEnum.excursion)
], ],
); );