From ec03b32ce6ffdea9dc6d9b460922dbe5ed9db12a Mon Sep 17 00:00:00 2001 From: nico Date: Thu, 9 May 2024 11:12:39 +0200 Subject: [PATCH] fixed dates --- lib/addCam/add_cam_main.dart | 113 ++++++++++++++++++++--------------- lib/addCam/cam_widgets.dart | 82 ++++++++++++++----------- 2 files changed, 113 insertions(+), 82 deletions(-) diff --git a/lib/addCam/add_cam_main.dart b/lib/addCam/add_cam_main.dart index 160c752..16cb54b 100644 --- a/lib/addCam/add_cam_main.dart +++ b/lib/addCam/add_cam_main.dart @@ -185,8 +185,12 @@ class _AddCamMainState extends State { selectedPlatzung = widget.existingData!['Platzung'] ?? ""; kSchloNrC.text = widget.existingData!['KSchloNr'] ?? ""; datum = DateTime.parse(widget.existingData!['Datum']); - kontDat = widget.existingData!['KontDat'] == null ? null : DateTime.parse(widget.existingData!['KontDat']); - abbauDat = widget.existingData!['AbbauDat'] == null ? null : DateTime.parse(widget.existingData!['AbbauDat']); + kontDat = widget.existingData!['KontDat'] == null + ? null + : DateTime.parse(widget.existingData!['KontDat']); + abbauDat = widget.existingData!['AbbauDat'] == null + ? null + : DateTime.parse(widget.existingData!['AbbauDat']); auftragC.text = widget.existingData!['Auftrag'] ?? ""; kontAbspC.text = widget.existingData!['KontAbsp'] ?? ""; sonstBemC.text = widget.existingData!['SonstBem'] ?? ""; @@ -196,7 +200,9 @@ class _AddCamMainState extends State { standortC.text = widget.existingData!['Standort'] ?? ""; kTage1C.text = widget.existingData!['KTage1'].toString(); kTage2C.text = widget.existingData!['KTage2'].toString(); - protoAm = widget.existingData!['ProtoAm'] == null ? null : DateTime.parse(widget.existingData!['ProtoAm']); + protoAm = widget.existingData!['ProtoAm'] == null + ? null + : DateTime.parse(widget.existingData!['ProtoAm']); intKommC.text = widget.existingData!['IntKomm'] ?? ""; betreuungC.text = widget.existingData!['Betreuung'] ?? ""; } @@ -240,8 +246,6 @@ class _AddCamMainState extends State { actions: [ TextButton( onPressed: () async { - - int errorCode = _httpRequest(); if (errorCode != 201) { @@ -279,7 +283,6 @@ class _AddCamMainState extends State { child: Text(AppLocalizations.of(context)!.template)), TextButton( onPressed: () async { - int errorCode = _httpRequest(); if (errorCode != 201) { @@ -341,7 +344,6 @@ class _AddCamMainState extends State { } int _httpRequest() { - Map place = getPlace(); Methods method = Methods(); @@ -566,47 +568,47 @@ class _AddCamMainState extends State { children: [ Column( children: [ - Text(currentPosition.latitude.toString()), - - Text(currentPosition.longitude.toString()), - + Text(currentPosition.latitude.toString()), + Text(currentPosition.longitude.toString()), ], ), - const SizedBox(width: 15,), - ElevatedButton( - onPressed: () async { - final result = await Navigator.of(context) - .push( - MaterialPageRoute(builder: (context) { - return Karte( - ortInfoC: ortInfoC, - beiOrtC: beiOrtC, - currentPosition: currentPosition, - onPositionChange: (updatedPosition) { - setState(() { - currentPosition = updatedPosition; - }); - }, - ); - })); - if (result != null) { - setState(() { - currentPosition = Position( - latitude: result.latitude, - longitude: result.longitude, - timestamp: DateTime.now(), - accuracy: 0.0, - altitude: 0.0, - altitudeAccuracy: 0.0, - heading: 0.0, - headingAccuracy: 0.0, - speed: 0.0, - speedAccuracy: 0.0, + const SizedBox( + width: 15, + ), + ElevatedButton( + onPressed: () async { + final result = await Navigator.of(context) + .push( + MaterialPageRoute(builder: (context) { + return Karte( + ortInfoC: ortInfoC, + beiOrtC: beiOrtC, + currentPosition: currentPosition, + onPositionChange: (updatedPosition) { + setState(() { + currentPosition = updatedPosition; + }); + }, ); - }); - } - }, - child: Text(AppLocalizations.of(context)!.openMap)), + })); + if (result != null) { + setState(() { + currentPosition = Position( + latitude: result.latitude, + longitude: result.longitude, + timestamp: DateTime.now(), + accuracy: 0.0, + altitude: 0.0, + altitudeAccuracy: 0.0, + heading: 0.0, + headingAccuracy: 0.0, + speed: 0.0, + speedAccuracy: 0.0, + ); + }); + } + }, + child: Text(AppLocalizations.of(context)!.openMap)), ], ), VarTextField( @@ -661,9 +663,19 @@ class _AddCamMainState extends State { content: Column( children: [ Datum( - datum: datum, + initDatum: datum, + onDateChanged: (value) { + datum = value; + }, + ), + KontDat( + initKontDat: kontDat, + onDateChanged: (value) { + setState(() { + kontDat = value; + }); + }, ), - KontDat(kontDat: kontDat), const SizedBox( height: 20, ), @@ -712,7 +724,12 @@ class _AddCamMainState extends State { ), Row( children: [ - AbbauDat(abbauDat: abbauDat), + AbbauDat( + initAbbauDat: abbauDat, + onDateChanged: (value) { + abbauDat = value; + }, + ), ], ), const SizedBox( diff --git a/lib/addCam/cam_widgets.dart b/lib/addCam/cam_widgets.dart index 8ef94bd..830e7aa 100644 --- a/lib/addCam/cam_widgets.dart +++ b/lib/addCam/cam_widgets.dart @@ -155,14 +155,15 @@ class Karte extends StatefulWidget { {super.key, required this.currentPosition, required this.onPositionChange, - required this.beiOrtC, required this.ortInfoC}); + required this.beiOrtC, + required this.ortInfoC}); @override KarteState createState() => KarteState(); } class KarteState extends State { - List markers = [ ]; + List markers = []; LatLng? selectedPosition; Position? updatedPosition; bool saveVisible = false; @@ -197,7 +198,7 @@ class KarteState extends State { List placemarks = await placemarkFromCoordinates( selectedPosition!.latitude, selectedPosition!.longitude); - print(placemarks); + print(placemarks); if (selectedPosition != null) { setState(() { @@ -293,16 +294,23 @@ class KarteState extends State { // datum is the variable where the chosen date is stored class Datum extends StatefulWidget { - final DateTime? datum; + final DateTime? initDatum; + final Function(DateTime) onDateChanged; - const Datum({super.key, required this.datum}); + const Datum({super.key, required this.initDatum, required this.onDateChanged}); @override State createState() => _DatumState(); } class _DatumState extends State { - DateTime? datum = DateTime.now(); + DateTime? datum; + + @override + void initState() { + super.initState(); + datum = widget.initDatum; + } @override Widget build(BuildContext context) { @@ -316,6 +324,7 @@ class _DatumState extends State { final date = await pickDate(); if (date == null) return; setState(() => datum = date); + widget.onDateChanged(date); }, child: Text(AppLocalizations.of(context)!.pickDate)), ), @@ -336,14 +345,8 @@ class _DatumState extends State { initialDate: datum!, firstDate: DateTime(2000), lastDate: DateTime(5000)); - if (date == null) return null; - setState(() => datum = date); - var place = {'Datum': DateFormat('yyyy-MM-dd').format(datum!)}; - - await DBHelper().addPlace(place); - - return datum; + return date; } } @@ -473,11 +476,11 @@ class Platzung extends StatefulWidget { final Function(String) onPlatzungChanged; final String? initialPlatzung; - - const Platzung( - {super.key, - required this.onPlatzungChanged, this.initialPlatzung, - }); + const Platzung({ + super.key, + required this.onPlatzungChanged, + this.initialPlatzung, + }); @override State createState() => _PlatzungState(); @@ -494,7 +497,6 @@ class _PlatzungState extends State { } } - @override Widget build(BuildContext context) { return Column( @@ -725,16 +727,24 @@ class _MEZState extends State { // KontDat class KontDat extends StatefulWidget { - final DateTime? kontDat; + final DateTime? initKontDat; + final Function(DateTime) onDateChanged; - const KontDat({super.key, required this.kontDat}); + const KontDat( + {super.key, required this.initKontDat, required this.onDateChanged}); @override State createState() => _KontDatState(); } class _KontDatState extends State { - DateTime? kontDat = DateTime.now(); + DateTime? kontDat; + + @override + void initState() { + super.initState(); + kontDat = widget.initKontDat; + } @override Widget build(BuildContext context) { @@ -747,7 +757,10 @@ class _KontDatState extends State { onPressed: () async { final date = await pickDate(); if (date == null) return; - setState(() => kontDat = date); + setState(() { + kontDat = date; + }); + widget.onDateChanged(date); }, child: Text(AppLocalizations.of(context)!.pickkontdat)), ), @@ -765,26 +778,21 @@ class _KontDatState extends State { Future pickDate() async { final date = await showDatePicker( context: context, - initialDate: kontDat!, + initialDate: kontDat ?? DateTime.now(), firstDate: DateTime(2000), lastDate: DateTime(5000)); - if (date == null) return null; - setState(() => kontDat = date); - var place = {'KontDat': DateFormat('yyyy-MM-dd').format(kontDat!)}; - - await DBHelper().addPlace(place); - - return kontDat; + return date; } } // AbbauDat class AbbauDat extends StatefulWidget { - final DateTime? abbauDat; + final DateTime? initAbbauDat; + final Function(DateTime) onDateChanged; - const AbbauDat({super.key, required this.abbauDat}); + const AbbauDat({super.key, required this.initAbbauDat, required this.onDateChanged}); @override State createState() => _AbbauDatState(); @@ -793,6 +801,12 @@ class AbbauDat extends StatefulWidget { class _AbbauDatState extends State { DateTime? abbauDat; + @override + void initState() { + super.initState(); + abbauDat = widget.initAbbauDat; + } + @override Widget build(BuildContext context) { return Row( @@ -805,6 +819,7 @@ class _AbbauDatState extends State { final date = await pickDate(); if (date == null) return; setState(() => abbauDat = date); + widget.onDateChanged(date); }, child: Text(AppLocalizations.of(context)!.pickabbaudat)), ), @@ -841,7 +856,6 @@ class _AbbauDatState extends State { firstDate: DateTime(2000), lastDate: DateTime(5000)); if (date == null) return null; - setState(() => abbauDat = date); return abbauDat; }