fixed a lot of things after i broke everything. Just the card is not implemented again yet
time
This commit is contained in:
@@ -9,81 +9,111 @@ import 'package:fforte/screens/excursion/widgets/spur_gefunden.dart';
|
||||
import 'package:fforte/screens/excursion/widgets/strecke_u_spurbedingungen.dart';
|
||||
import 'package:fforte/screens/helper/add_entries_dialog_helper.dart';
|
||||
import 'package:fforte/screens/sharedMethods/check_required.dart';
|
||||
import 'package:fforte/screens/sharedMethods/save_template.dart';
|
||||
import 'package:fforte/screens/sharedWidgets/datum.dart';
|
||||
import 'package:fforte/screens/sharedWidgets/var_text_field.dart';
|
||||
import 'package:fforte/l10n/app_localizations.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ExcursionMain extends StatefulWidget {
|
||||
const ExcursionMain({super.key});
|
||||
final bool isTemplate;
|
||||
final bool isSent;
|
||||
final Map<String, dynamic>? existingData;
|
||||
|
||||
const ExcursionMain({
|
||||
super.key,
|
||||
this.isTemplate = false,
|
||||
this.isSent = false,
|
||||
this.existingData,
|
||||
});
|
||||
|
||||
@override
|
||||
State<ExcursionMain> createState() => _ExcursionMainState();
|
||||
}
|
||||
|
||||
class _ExcursionMainState extends State<ExcursionMain> {
|
||||
// all TextEditingController because its easier
|
||||
int currentStep = 0;
|
||||
|
||||
// all TextEditingController because its easier
|
||||
Map<String, Map<String, dynamic>> rmap = {
|
||||
// Step 1
|
||||
"LogDat": {"controller": TextEditingController(), "required": bool},
|
||||
"Rudel": {"controller": TextEditingController(), "required": bool},
|
||||
"Teilnehm": {"controller": TextEditingController(), "required": bool},
|
||||
"Jahr": {"controller": TextEditingController(), "required": bool},
|
||||
"Dauer": {"controller": TextEditingController(), "required": bool},
|
||||
"MHund": {"controller": TextEditingController(), "required": bool},
|
||||
"MLeine": {"controller": TextEditingController(), "required": bool},
|
||||
"BLand": {"controller": TextEditingController(), "required": bool},
|
||||
"Lkr": {"controller": TextEditingController(), "required": bool},
|
||||
"BeiOrt": {"controller": TextEditingController(), "required": bool},
|
||||
"BimaNr": {"controller": TextEditingController(), "required": bool},
|
||||
"BimaName": {"controller": TextEditingController(), "required": bool},
|
||||
"BimaNutzer": {"controller": TextEditingController(), "required": bool},
|
||||
"BimaAGV": {"controller": TextEditingController(), "required": bool},
|
||||
"LogDat": {"controller": TextEditingController(), "required": false},
|
||||
"Rudel": {"controller": TextEditingController(), "required": false},
|
||||
"Teilnehmer": {"controller": TextEditingController(), "required": false},
|
||||
"Jahr": {"controller": TextEditingController(), "required": false},
|
||||
"Dauer": {"controller": TextEditingController(), "required": false},
|
||||
"MHund": {"controller": TextEditingController(), "required": false},
|
||||
"MLeine": {"controller": TextEditingController(), "required": false},
|
||||
"BLand": {"controller": TextEditingController(), "required": false},
|
||||
"Lkr": {"controller": TextEditingController(), "required": false},
|
||||
"BeiOrt": {"controller": TextEditingController(), "required": false},
|
||||
"BimaNr": {"controller": TextEditingController(), "required": false},
|
||||
"BimaName": {"controller": TextEditingController(), "required": false},
|
||||
"BimaNutzer": {"controller": TextEditingController(), "required": false},
|
||||
"BimaAGV": {"controller": TextEditingController(), "required": false},
|
||||
|
||||
// Step 2
|
||||
"Wetter": {"controller": TextEditingController(), "required": bool},
|
||||
"Temperat": {"controller": TextEditingController(), "required": bool},
|
||||
"RegenVor": {"controller": TextEditingController(), "required": bool},
|
||||
"KmAuto": {"controller": TextEditingController(), "required": bool},
|
||||
"KmFuss": {"controller": TextEditingController(), "required": bool},
|
||||
"KmRad": {"controller": TextEditingController(), "required": bool},
|
||||
"KmTotal": {"controller": TextEditingController(), "required": bool},
|
||||
"KmAuProz": {"controller": TextEditingController(), "required": bool},
|
||||
"KmFuProz": {"controller": TextEditingController(), "required": bool},
|
||||
"KmRaProz": {"controller": TextEditingController(), "required": bool},
|
||||
"Wetter": {"controller": TextEditingController(), "required": false},
|
||||
"Temperat": {"controller": TextEditingController(), "required": false},
|
||||
"RegenVor": {"controller": TextEditingController(), "required": false},
|
||||
"KmAuto": {"controller": TextEditingController(), "required": false},
|
||||
"KmFuss": {"controller": TextEditingController(), "required": false},
|
||||
"KmRad": {"controller": TextEditingController(), "required": false},
|
||||
"KmTotal": {"controller": TextEditingController(), "required": false},
|
||||
"KmAuProz": {"controller": TextEditingController(), "required": false},
|
||||
"KmFuProz": {"controller": TextEditingController(), "required": false},
|
||||
"KmRaProz": {"controller": TextEditingController(), "required": false},
|
||||
|
||||
// Spur maybe own step?
|
||||
"SpGut": {"controller": TextEditingController(), "required": bool},
|
||||
"SpMittel": {"controller": TextEditingController(), "required": bool},
|
||||
"SpSchlecht": {"controller": TextEditingController(), "required": bool},
|
||||
"SpurFund": {"controller": TextEditingController(), "required": bool},
|
||||
"SpurLang": {"controller": TextEditingController(), "required": bool},
|
||||
"SpurTiere": {"controller": TextEditingController(), "required": bool},
|
||||
"SpSicher": {"controller": TextEditingController(), "required": bool},
|
||||
"WelpenSp": {"controller": TextEditingController(), "required": bool},
|
||||
"WelpenAnz": {"controller": TextEditingController(), "required": bool},
|
||||
"WpSicher": {"controller": TextEditingController(), "required": bool},
|
||||
"SpGut": {"controller": TextEditingController(), "required": false},
|
||||
"SpMittel": {"controller": TextEditingController(), "required": false},
|
||||
"SpSchlecht": {"controller": TextEditingController(), "required": false},
|
||||
"SpurFund": {"controller": TextEditingController(), "required": false},
|
||||
"SpurLang": {"controller": TextEditingController(), "required": false},
|
||||
"SpurTiere": {"controller": TextEditingController(), "required": false},
|
||||
"SpSicher": {"controller": TextEditingController(), "required": false},
|
||||
"WelpenSp": {"controller": TextEditingController(), "required": false},
|
||||
"WelpenAnz": {"controller": TextEditingController(), "required": false},
|
||||
"WpSicher": {"controller": TextEditingController(), "required": false},
|
||||
|
||||
"LosungGes": {"controller": TextEditingController(), "required": bool},
|
||||
"LosungAnz": {"controller": TextEditingController(), "required": bool},
|
||||
"LosungGen": {"controller": TextEditingController(), "required": bool},
|
||||
"UrinAnz": {"controller": TextEditingController(), "required": bool},
|
||||
"UrinGen": {"controller": TextEditingController(), "required": bool},
|
||||
"OestrAnz": {"controller": TextEditingController(), "required": bool},
|
||||
"OestrGen": {"controller": TextEditingController(), "required": bool},
|
||||
"HaarAnz": {"controller": TextEditingController(), "required": bool},
|
||||
"HaarGen": {"controller": TextEditingController(), "required": bool},
|
||||
"LosungKm": {"controller": TextEditingController(), "required": bool},
|
||||
"GenetiKm": {"controller": TextEditingController(), "required": bool},
|
||||
"Hinweise": {"controller": TextEditingController(), "required": bool},
|
||||
"LosungGes": {"controller": TextEditingController(), "required": false},
|
||||
"LosungAnz": {"controller": TextEditingController(), "required": false},
|
||||
"LosungGen": {"controller": TextEditingController(), "required": false},
|
||||
"UrinAnz": {"controller": TextEditingController(), "required": false},
|
||||
"UrinGen": {"controller": TextEditingController(), "required": false},
|
||||
"OestrAnz": {"controller": TextEditingController(), "required": false},
|
||||
"OestrGen": {"controller": TextEditingController(), "required": false},
|
||||
"HaarAnz": {"controller": TextEditingController(), "required": false},
|
||||
"HaarGen": {"controller": TextEditingController(), "required": false},
|
||||
"LosungKm": {"controller": TextEditingController(), "required": false},
|
||||
"GenetiKm": {"controller": TextEditingController(), "required": false},
|
||||
"Hinweise": {"controller": TextEditingController(), "required": false},
|
||||
|
||||
// Step 3
|
||||
"Bemerk": {"controller": TextEditingController(), "required": bool},
|
||||
"IntKomm": {"controller": TextEditingController(), "required": bool},
|
||||
"FallNum": {"controller": TextEditingController(), "required": bool},
|
||||
"Bemerk": {"controller": TextEditingController(), "required": false},
|
||||
"IntKomm": {"controller": TextEditingController(), "required": false},
|
||||
"FallNum": {"controller": TextEditingController(), "required": false},
|
||||
};
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
if (widget.existingData?.isNotEmpty ?? false) {
|
||||
for (var key in widget.existingData!.keys) {
|
||||
rmap[key]!["controller"]!.text =
|
||||
widget.existingData?[key].toString() ?? "";
|
||||
}
|
||||
}
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
for (String key in rmap.keys) {
|
||||
rmap[key]!["controller"].dispose();
|
||||
}
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
Map<String, String> getFieldsText() {
|
||||
Map<String, String> puff = {};
|
||||
|
||||
@@ -94,7 +124,6 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
return puff;
|
||||
}
|
||||
|
||||
int currentStep = 0;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -123,9 +152,9 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
const SizedBox(height: 10),
|
||||
// ---------- Participants
|
||||
VarTextField(
|
||||
textController: rmap["Teilnehm"]!["controller"]!,
|
||||
textController: rmap["Teilnehmer"]!["controller"]!,
|
||||
localization: AppLocalizations.of(context)!.teilnehmer,
|
||||
dbName: "Teilnehm",
|
||||
dbName: "Teilnehmer",
|
||||
required: false,
|
||||
dbDesignation: DatabasesEnum.excursion,
|
||||
),
|
||||
@@ -344,23 +373,40 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
final isLastStep = currentStep == getSteps().length - 1;
|
||||
|
||||
if (!isLastStep) {
|
||||
saveTemplate(
|
||||
getFieldsText(),
|
||||
DatabasesEnum.excursion,
|
||||
);
|
||||
setState(() {
|
||||
currentStep += 1;
|
||||
});
|
||||
} else {
|
||||
|
||||
if (widget.isSent) {
|
||||
Navigator.pushNamedAndRemoveUntil(
|
||||
context,
|
||||
'/home',
|
||||
(route) => false,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
bool empty = CheckRequired.checkRequired(rmap);
|
||||
if (empty) {
|
||||
await AddEntriesDialogHelper.showTemplateDialog(
|
||||
// TODO for debugging always true
|
||||
empty = false;
|
||||
|
||||
if (empty == true) {
|
||||
AddEntriesDialogHelper.showTemplateDialog(
|
||||
context,
|
||||
getFieldsText(),
|
||||
false,
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
} else if (empty == false) {
|
||||
await AddEntriesDialogHelper.showSaveOptionsDialog(
|
||||
context,
|
||||
getFieldsText(),
|
||||
false,
|
||||
DatabasesEnum.excursion
|
||||
widget.isTemplate,
|
||||
DatabasesEnum.excursion,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user