repaired editing function of templates
This commit is contained in:
@@ -82,21 +82,21 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
DateTime? kontDat = DateTime.now();
|
||||
DateTime? protoAm = DateTime.now();
|
||||
|
||||
static Map<String, Map<String, dynamic>> rmap = {
|
||||
Map<String, Map<String, dynamic>> rmap = {
|
||||
// Step 1
|
||||
"Standort": { "controller": TextEditingController(), "required": true, },
|
||||
"Status": { "controller": TextEditingController(), "required": true, },
|
||||
"Betreuung": { "controller": TextEditingController(), "required": false, },
|
||||
"CID": { "controller": TextEditingController(), "required": true, },
|
||||
"FFTyp": { "controller": TextEditingController(), "required": true, },
|
||||
"Mez": { "controller": TextEditingController(), "required": true, },
|
||||
"MEZ": { "controller": TextEditingController(), "required": true, },
|
||||
"KSchloNr": { "controller": TextEditingController(), "required": false, },
|
||||
"Rudel": { "controller": TextEditingController(), "required": true, },
|
||||
|
||||
// Step 2
|
||||
"DECLNG": { "controller": TextEditingController(), "required": false, },
|
||||
"DECLAT": { "controller": TextEditingController(), "required": false, },
|
||||
"Bland": { "controller": TextEditingController(), "required": true, },
|
||||
"BLand": { "controller": TextEditingController(), "required": true, },
|
||||
"Lkr": { "controller": TextEditingController(), "required": true, },
|
||||
"BeiOrt": { "controller": TextEditingController(), "required": true, },
|
||||
"OrtInfo": { "controller": TextEditingController(), "required": false, },
|
||||
@@ -134,14 +134,14 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
// "Betreuung": { "controller": TextEditingController(), "required": false, },
|
||||
// "CID": { "controller": TextEditingController(), "required": true, },
|
||||
// "FFTyp": { "controller": TextEditingController(), "required": true, },
|
||||
// "Mez": { "controller": TextEditingController(), "required": true, },
|
||||
// "MEZ": { "controller": TextEditingController(), "required": true, },
|
||||
// "KSchloNr": { "controller": TextEditingController(), "required": false, },
|
||||
// "Rudel": { "controller": TextEditingController(), "required": true, },
|
||||
//
|
||||
// // Step 2
|
||||
// "DECLNG": { "controller": TextEditingController(), "required": false, },
|
||||
// "DECLAT": { "controller": TextEditingController(), "required": false, },
|
||||
// "Bland": { "controller": TextEditingController(), "required": true, },
|
||||
// "BLand": { "controller": TextEditingController(), "required": true, },
|
||||
// "Lkr": { "controller": TextEditingController(), "required": true, },
|
||||
// "BeiOrt": { "controller": TextEditingController(), "required": true, },
|
||||
// "OrtInfo": { "controller": TextEditingController(), "required": false, },
|
||||
@@ -239,12 +239,28 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
context, AppLocalizations.of(context)!.locationForbidden);
|
||||
}
|
||||
// select initial werte
|
||||
rmap["Mez"]!["controller"]!.text = selectedMEZ;
|
||||
rmap["MEZ"]!["controller"]!.text = selectedMEZ;
|
||||
rmap["Status"]!["controller"]!.text = selectedStatus;
|
||||
|
||||
|
||||
|
||||
|
||||
// TODO ADD THIS AGAIN BUT RIGHT
|
||||
// If a template is edited this fills in the existing values
|
||||
var firstRun = true;
|
||||
if (widget.existingData?.isNotEmpty ?? false) {
|
||||
for (var key in widget.existingData!.keys) {
|
||||
if (firstRun) {
|
||||
firstRun = false;
|
||||
continue;
|
||||
}
|
||||
rmap[key]!["controller"]!.text = widget.existingData?[key].toString() ?? "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// if (widget.isTemplate || widget.isFinished && widget.existingData != null) {
|
||||
// cid.text = widget.existingData!['CID'] ?? "";
|
||||
// rudelC.text = widget.existingData!['Rudel'] ?? "";
|
||||
@@ -286,6 +302,14 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
for (String key in rmap.keys) {
|
||||
rmap[key]!["controller"].dispose();
|
||||
}
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
// checks if required fields are not empty. If one is the name will be returned
|
||||
// TODO rewrite
|
||||
// List<String> validateData() {
|
||||
@@ -416,7 +440,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
onMEZChanged: (mez) {
|
||||
setState(() {
|
||||
selectedMEZ = mez;
|
||||
rmap["Mez"]!["controller"]!.text = mez;
|
||||
rmap["MEZ"]!["controller"]!.text = mez;
|
||||
});
|
||||
},
|
||||
),
|
||||
@@ -507,7 +531,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
),
|
||||
// --------------------
|
||||
VarTextField(
|
||||
textController: rmap["Bland"]!["controller"]!,
|
||||
textController: rmap["BLand"]!["controller"]!,
|
||||
localization: AppLocalizations.of(context)!.bland,
|
||||
dbName: "BLand",
|
||||
required: true,
|
||||
@@ -804,7 +828,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
|
||||
if (empty == true) {
|
||||
DialogHelper.showTemplateDialog(
|
||||
context, getFieldsText());
|
||||
context, getFieldsText(), widget.existingData?.isNotEmpty ?? false);
|
||||
return;
|
||||
} else if (empty == false) {
|
||||
await DialogHelper.showSaveOptionsDialog(
|
||||
|
||||
@@ -10,7 +10,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
class DialogHelper {
|
||||
// Function to show the dialog where the user has to choose if he want to safe his values as a template
|
||||
static Future<void> showTemplateDialog(BuildContext context,
|
||||
Map<String, String> saveData) async {
|
||||
Map<String, String> saveData, bool update) async {
|
||||
return showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
@@ -25,7 +25,7 @@ class DialogHelper {
|
||||
child: Text(AppLocalizations.of(context)!.cancel)),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
saveTemplate(saveData, DatabasesEnum.place, true);
|
||||
saveTemplate(saveData, DatabasesEnum.place, update);
|
||||
Navigator.pushNamedAndRemoveUntil(
|
||||
context, '/home', (route) => false);
|
||||
},
|
||||
|
||||
@@ -47,7 +47,7 @@ class _VarTextFieldState extends State<VarTextField> {
|
||||
}
|
||||
|
||||
Future<List<Map<String, dynamic>>> _loadData() async {
|
||||
if (widget.dbDesignation == DatabasesEnum.excursion) {
|
||||
if (widget.dbDesignation == DatabasesEnum.place) {
|
||||
var entries = await PlaceDBHelper().getAllMainEntries();
|
||||
var templatesEntries = await PlaceDBHelper().getAllTemplates();
|
||||
return [...entries, ...templatesEntries];
|
||||
|
||||
Reference in New Issue
Block a user