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 sonstigesChecked = false;
// for sonstiges textfield
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
Widget build(BuildContext context) {
@@ -33,6 +75,7 @@ class _HinweiseState extends State<Hinweise> {
value: liegestelleChecked,
onChanged: (bool? value) {
setState(() => liegestelleChecked = value ?? false);
updateController();
}
),
@@ -41,6 +84,7 @@ class _HinweiseState extends State<Hinweise> {
value: kadaverChecked,
onChanged: (bool? value) {
setState(() => kadaverChecked = value ?? false);
updateController();
}
),
@@ -49,6 +93,7 @@ class _HinweiseState extends State<Hinweise> {
value: sichtungChecked,
onChanged: (bool? value) {
setState(() => sichtungChecked = value ?? false);
updateController();
}
),
@@ -57,18 +102,20 @@ class _HinweiseState extends State<Hinweise> {
value: heulenChecked,
onChanged: (bool? value) {
setState(() => heulenChecked = value ?? false);
updateController();
}
),
CheckboxListTile(
title: Text("Sonstiges"),
value: liegestelleChecked,
value: sonstigesChecked,
onChanged: (bool? value) {
setState(() => sonstigesChecked = value ?? false);
updateController();
}
),
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)
],
);