fixed template bugs
This commit is contained in:
2
Todo.txt
2
Todo.txt
@@ -1,6 +1,5 @@
|
||||
todo:
|
||||
maybe auch vorschläge aus templates in dropdown menüs anzeigen
|
||||
abbaudat leer
|
||||
beim nächsten schritt als template
|
||||
im englischen abändern
|
||||
standort automatisch in Karte
|
||||
@@ -28,6 +27,7 @@ eintrg in db wenn http response (in sent column)
|
||||
|
||||
|
||||
not to do:
|
||||
abbaudat leer
|
||||
clean db_helper
|
||||
In der Karte den save button erst zeigen nachdem marker gesetzt wurde
|
||||
json string in csv und exportieren in text datei
|
||||
|
||||
@@ -30,9 +30,9 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
|
||||
TextEditingController id = TextEditingController();
|
||||
TextEditingController rudelC = TextEditingController();
|
||||
TextEditingController addresse1C = TextEditingController();
|
||||
TextEditingController addresse2C = TextEditingController();
|
||||
TextEditingController addresse3C = TextEditingController();
|
||||
TextEditingController adresse1C = TextEditingController();
|
||||
TextEditingController adresse2C = TextEditingController();
|
||||
TextEditingController adresse3C = TextEditingController();
|
||||
TextEditingController bLandC = TextEditingController();
|
||||
TextEditingController lkrC = TextEditingController();
|
||||
TextEditingController beiOrtC = TextEditingController();
|
||||
@@ -40,12 +40,12 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
TextEditingController ffTypC = TextEditingController();
|
||||
TextEditingController kSchloNrC = TextEditingController();
|
||||
TextEditingController auftragC = TextEditingController();
|
||||
TextEditingController absprachenC = TextEditingController();
|
||||
TextEditingController sonstBemerkungenC = TextEditingController();
|
||||
TextEditingController kontAbspC = TextEditingController();
|
||||
TextEditingController sonstBemC = TextEditingController();
|
||||
TextEditingController fKontakt1C = TextEditingController();
|
||||
TextEditingController fKontakt2C = TextEditingController();
|
||||
TextEditingController fKontakt3C = TextEditingController();
|
||||
TextEditingController altStOrtC = TextEditingController();
|
||||
TextEditingController standortC = TextEditingController();
|
||||
TextEditingController kTage1C = TextEditingController();
|
||||
TextEditingController kTage2C = TextEditingController();
|
||||
TextEditingController intKommC = TextEditingController();
|
||||
@@ -88,9 +88,9 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
'CID': id.text,
|
||||
'Rudel': rudelC.text,
|
||||
'Datum': datumS,
|
||||
'Adresse1': addresse1C.text,
|
||||
'Adresse2': addresse2C.text,
|
||||
'Adresse3': addresse3C.text,
|
||||
'Adresse1': adresse1C.text,
|
||||
'Adresse2': adresse2C.text,
|
||||
'Adresse3': adresse3C.text,
|
||||
'BLand': bLandC.text,
|
||||
'Lkr': lkrC.text,
|
||||
'BeiOrt': beiOrtC.text,
|
||||
@@ -106,12 +106,12 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
'KontDat': kontDatS,
|
||||
'AbbauDat': abbauDatS,
|
||||
'Auftrag': auftragC.text,
|
||||
'KontAbsp': absprachenC.text,
|
||||
'SonstBem': sonstBemerkungenC.text,
|
||||
'KontAbsp': kontAbspC.text,
|
||||
'SonstBem': sonstBemC.text,
|
||||
'FKontakt1': fKontakt1C.text,
|
||||
'FKontakt2': fKontakt2C.text,
|
||||
'FKontakt3': fKontakt3C.text,
|
||||
'Standort': altStOrtC.text,
|
||||
'Standort': standortC.text,
|
||||
'AusVon': ausVonS,
|
||||
'AusBis': ausBisS,
|
||||
'KTage1': kTage1C.text,
|
||||
@@ -180,9 +180,9 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
if (widget.isTemplate && widget.templateData != null) {
|
||||
id.text = widget.templateData!['CID'];
|
||||
rudelC.text = widget.templateData!['Rudel'];
|
||||
addresse1C.text = widget.templateData!['Addresse1'];
|
||||
addresse2C.text = widget.templateData!['Addresse2'];
|
||||
addresse3C.text = widget.templateData!['Addresse3'];
|
||||
adresse1C.text = widget.templateData!['Adresse1'];
|
||||
adresse2C.text = widget.templateData!['Adresse2'];
|
||||
adresse3C.text = widget.templateData!['Adresse3'];
|
||||
bLandC.text = widget.templateData!['BLand'];
|
||||
lkrC.text = widget.templateData!['Lkr'];
|
||||
beiOrtC.text = widget.templateData!['BeiOrt'];
|
||||
@@ -199,12 +199,12 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
kontDatS = widget.templateData!['KontDat'];
|
||||
abbauDatS = widget.templateData!['AbbauDat'];
|
||||
auftragC.text = widget.templateData!['Auftrag'];
|
||||
absprachenC.text = widget.templateData!['Absprachen'];
|
||||
sonstBemerkungenC.text = widget.templateData!['SonstBemerkungen'];
|
||||
kontAbspC.text = widget.templateData!['KontAbsp'];
|
||||
sonstBemC.text = widget.templateData!['SonstBem'];
|
||||
fKontakt1C.text = widget.templateData!['FKontakt1'];
|
||||
fKontakt2C.text = widget.templateData!['FKontakt2'];
|
||||
fKontakt3C.text = widget.templateData!['FKontakt3'];
|
||||
altStOrtC.text = widget.templateData!['AltStOrt'];
|
||||
standortC.text = widget.templateData!['Standort'];
|
||||
ausVonS = widget.templateData!['AusVon'];
|
||||
ausBisS = widget.templateData!['AusBis'];
|
||||
kTage1C.text = widget.templateData!['KTage1'].toString();
|
||||
@@ -330,7 +330,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
Map<String, TextEditingController> fields = {
|
||||
'CID': id,
|
||||
'Rudel': rudelC,
|
||||
'Addresse1': addresse1C,
|
||||
'Adresse1': adresse1C,
|
||||
'BLand': bLandC,
|
||||
'Lkr': lkrC,
|
||||
'BeiOrt': beiOrtC,
|
||||
@@ -342,7 +342,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
'Platzung': TextEditingController(text: selectedPlatzung),
|
||||
'KTage1': kTage1C,
|
||||
'KTage2': kTage2C,
|
||||
'Standort': altStOrtC,
|
||||
'Standort': standortC,
|
||||
};
|
||||
|
||||
for (var entry in fields.entries) {
|
||||
@@ -393,7 +393,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
children: [
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: AltStOrt(altStOrtC: altStOrtC),
|
||||
child: Standort(standortC: standortC),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 1,
|
||||
@@ -509,7 +509,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
final result = await Navigator.of(context)
|
||||
.push<LatLng>(
|
||||
MaterialPageRoute(builder: (context) {
|
||||
return Standort(
|
||||
return Karte(
|
||||
currentPosition: currentPosition,
|
||||
onPositionChange: (updatedPosition) {
|
||||
setState(() {
|
||||
@@ -632,12 +632,12 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Absprachen(absprachenC: absprachenC),
|
||||
child: KontAbsp(kontAbspC: kontAbspC),
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child:
|
||||
SonstBemerkungen(sonstBemerkungenC: sonstBemerkungenC),
|
||||
SonstBem(sonstBemC: sonstBemC),
|
||||
),
|
||||
],
|
||||
)),
|
||||
@@ -650,14 +650,14 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Addresse1(addresse1C: addresse1C)),
|
||||
child: Adresse1(adresse1C: adresse1C)),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Addresse2(addresse2C: addresse2C),
|
||||
child: Adresse2(adresse2C: adresse2C),
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Addresse3(addresse3C: addresse3C),
|
||||
child: Adresse3(adresse3C: adresse3C),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 15,
|
||||
@@ -712,7 +712,8 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
final isLastStep = currentStep == getSteps().length - 1;
|
||||
|
||||
if (!isLastStep) {
|
||||
// ! saveTemplate();
|
||||
saveTemplate();
|
||||
|
||||
setState(() {
|
||||
currentStep += 1;
|
||||
});
|
||||
|
||||
@@ -213,23 +213,23 @@ class _RudelState extends State<Rudel> {
|
||||
//
|
||||
//
|
||||
//
|
||||
// Standort
|
||||
// Karte
|
||||
// ! completely new page
|
||||
|
||||
class Standort extends StatefulWidget {
|
||||
class Karte extends StatefulWidget {
|
||||
final Position currentPosition;
|
||||
final Function(Position) onPositionChange;
|
||||
|
||||
const Standort(
|
||||
const Karte(
|
||||
{super.key,
|
||||
required this.currentPosition,
|
||||
required this.onPositionChange});
|
||||
|
||||
@override
|
||||
StandortState createState() => StandortState();
|
||||
KarteState createState() => KarteState();
|
||||
}
|
||||
|
||||
class StandortState extends State<Standort> {
|
||||
class KarteState extends State<Karte> {
|
||||
List<Marker> markers = [];
|
||||
LatLng? selectedPosition;
|
||||
Position? updatedPosition;
|
||||
@@ -387,20 +387,20 @@ class _DatumState extends State<Datum> {
|
||||
}
|
||||
}
|
||||
|
||||
// Addresse1
|
||||
// Adresse1
|
||||
|
||||
class Addresse1 extends StatefulWidget {
|
||||
final TextEditingController addresse1C;
|
||||
class Adresse1 extends StatefulWidget {
|
||||
final TextEditingController adresse1C;
|
||||
|
||||
const Addresse1({super.key, required this.addresse1C});
|
||||
const Adresse1({super.key, required this.adresse1C});
|
||||
|
||||
@override
|
||||
State<Addresse1> createState() => _Addresse1State();
|
||||
State<Adresse1> createState() => _Adresse1State();
|
||||
}
|
||||
|
||||
class _Addresse1State extends State<Addresse1> {
|
||||
class _Adresse1State extends State<Adresse1> {
|
||||
String? selectedRudel;
|
||||
late Future<List<Map<String, dynamic>>> Addresse1;
|
||||
late Future<List<Map<String, dynamic>>> Adresse1;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -408,15 +408,15 @@ class _Addresse1State extends State<Addresse1> {
|
||||
|
||||
_loadPref();
|
||||
|
||||
Addresse1 = DBHelper().getPlace();
|
||||
Adresse1 = DBHelper().getPlace();
|
||||
}
|
||||
|
||||
void _loadPref() {
|
||||
Future.delayed(Duration.zero, () async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
String addresse1 = prefs.getString('addresse1') ?? "";
|
||||
String adresse1 = prefs.getString('adresse1') ?? "";
|
||||
setState(() {
|
||||
widget.addresse1C.text = addresse1;
|
||||
widget.adresse1C.text = adresse1;
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -430,20 +430,20 @@ class _Addresse1State extends State<Addresse1> {
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText: AppLocalizations.of(context)!.adresse1,
|
||||
enabledBorder: widget.addresse1C.text.isEmpty
|
||||
enabledBorder: widget.adresse1C.text.isEmpty
|
||||
? const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.red))
|
||||
: const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.green)),
|
||||
focusedBorder: widget.addresse1C.text.isEmpty
|
||||
focusedBorder: widget.adresse1C.text.isEmpty
|
||||
? const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.red))
|
||||
: const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.green)),
|
||||
),
|
||||
controller: widget.addresse1C,
|
||||
controller: widget.adresse1C,
|
||||
onChanged: (value) => setState(() {
|
||||
widget.addresse1C.text = value;
|
||||
widget.adresse1C.text = value;
|
||||
}),
|
||||
)),
|
||||
Expanded(
|
||||
@@ -451,20 +451,20 @@ class _Addresse1State extends State<Addresse1> {
|
||||
child: Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: Addresse1,
|
||||
future: Adresse1,
|
||||
builder: (BuildContext context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return DropdownButton<String>(
|
||||
items: snapshot.data!
|
||||
.map((item) =>
|
||||
buildMenuItem(item['Addresse1'].toString()))
|
||||
buildMenuItem(item['Adresse1'].toString()))
|
||||
.toList(),
|
||||
onChanged: (value) {
|
||||
setState(
|
||||
() {
|
||||
selectedRudel = value;
|
||||
widget.addresse1C.text = value ?? '';
|
||||
widget.adresse1C.text = value ?? '';
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -490,25 +490,25 @@ class _Addresse1State extends State<Addresse1> {
|
||||
);
|
||||
}
|
||||
|
||||
// Addresse2
|
||||
// Adresse2
|
||||
|
||||
class Addresse2 extends StatefulWidget {
|
||||
final TextEditingController addresse2C;
|
||||
class Adresse2 extends StatefulWidget {
|
||||
final TextEditingController adresse2C;
|
||||
|
||||
const Addresse2({super.key, required this.addresse2C});
|
||||
const Adresse2({super.key, required this.adresse2C});
|
||||
|
||||
@override
|
||||
State<Addresse2> createState() => _Addresse2State();
|
||||
State<Adresse2> createState() => _Adresse2State();
|
||||
}
|
||||
|
||||
class _Addresse2State extends State<Addresse2> {
|
||||
class _Adresse2State extends State<Adresse2> {
|
||||
String? selectedRudel;
|
||||
late Future<List<Map<String, dynamic>>> Addresse2;
|
||||
late Future<List<Map<String, dynamic>>> Adresse2;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
Addresse2 = DBHelper().getPlace();
|
||||
Adresse2 = DBHelper().getPlace();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -520,9 +520,9 @@ class _Addresse2State extends State<Addresse2> {
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText: AppLocalizations.of(context)!.adresse2),
|
||||
controller: widget.addresse2C,
|
||||
controller: widget.adresse2C,
|
||||
onChanged: (value) => setState(() {
|
||||
widget.addresse2C.text = value;
|
||||
widget.adresse2C.text = value;
|
||||
}),
|
||||
)),
|
||||
Expanded(
|
||||
@@ -530,19 +530,19 @@ class _Addresse2State extends State<Addresse2> {
|
||||
child: Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: Addresse2,
|
||||
future: Adresse2,
|
||||
builder: (BuildContext context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return DropdownButton<String>(
|
||||
items: snapshot.data!
|
||||
.map((item) => buildMenuItem(item['Addresse2'].toString()))
|
||||
.map((item) => buildMenuItem(item['Adresse2'].toString()))
|
||||
.toList(),
|
||||
onChanged: (value) {
|
||||
setState(
|
||||
() {
|
||||
selectedRudel = value;
|
||||
widget.addresse2C.text = value ?? '';
|
||||
widget.adresse2C.text = value ?? '';
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -568,25 +568,25 @@ class _Addresse2State extends State<Addresse2> {
|
||||
);
|
||||
}
|
||||
|
||||
// Addresse3
|
||||
// Adresse3
|
||||
|
||||
class Addresse3 extends StatefulWidget {
|
||||
final TextEditingController addresse3C;
|
||||
class Adresse3 extends StatefulWidget {
|
||||
final TextEditingController adresse3C;
|
||||
|
||||
const Addresse3({super.key, required this.addresse3C});
|
||||
const Adresse3({super.key, required this.adresse3C});
|
||||
|
||||
@override
|
||||
State<Addresse3> createState() => _Addresse3State();
|
||||
State<Adresse3> createState() => _Adresse3State();
|
||||
}
|
||||
|
||||
class _Addresse3State extends State<Addresse3> {
|
||||
class _Adresse3State extends State<Adresse3> {
|
||||
String? selectedRudel;
|
||||
late Future<List<Map<String, dynamic>>> Addresse3;
|
||||
late Future<List<Map<String, dynamic>>> Adresse3;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
Addresse3 = DBHelper().getPlace();
|
||||
Adresse3 = DBHelper().getPlace();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -598,27 +598,27 @@ class _Addresse3State extends State<Addresse3> {
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText: AppLocalizations.of(context)!.adresse3),
|
||||
controller: widget.addresse3C,
|
||||
controller: widget.adresse3C,
|
||||
)),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: Addresse3,
|
||||
future: Adresse3,
|
||||
builder: (BuildContext context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return DropdownButton<String>(
|
||||
items: snapshot.data!
|
||||
.map((item) =>
|
||||
buildMenuItem(item['Addresse3'].toString()))
|
||||
buildMenuItem(item['Adresse3'].toString()))
|
||||
.toList(),
|
||||
onChanged: (value) {
|
||||
setState(
|
||||
() {
|
||||
selectedRudel = value;
|
||||
widget.addresse3C.text = value ?? '';
|
||||
widget.adresse3C.text = value ?? '';
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -1795,25 +1795,25 @@ class _AuftragState extends State<Auftrag> {
|
||||
);
|
||||
}
|
||||
|
||||
// Absprachen
|
||||
// KontAbsp
|
||||
|
||||
class Absprachen extends StatefulWidget {
|
||||
final TextEditingController absprachenC;
|
||||
class KontAbsp extends StatefulWidget {
|
||||
final TextEditingController kontAbspC;
|
||||
|
||||
const Absprachen({super.key, required this.absprachenC});
|
||||
const KontAbsp({super.key, required this.kontAbspC});
|
||||
|
||||
@override
|
||||
State<Absprachen> createState() => _AbsprachenState();
|
||||
State<KontAbsp> createState() => _KontAbspState();
|
||||
}
|
||||
|
||||
class _AbsprachenState extends State<Absprachen> {
|
||||
class _KontAbspState extends State<KontAbsp> {
|
||||
String? selectedRudel;
|
||||
late Future<List<Map<String, dynamic>>> Absprachen;
|
||||
late Future<List<Map<String, dynamic>>> KontAbsp;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
Absprachen = DBHelper().getPlace();
|
||||
KontAbsp = DBHelper().getPlace();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -1824,28 +1824,28 @@ class _AbsprachenState extends State<Absprachen> {
|
||||
flex: 2,
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText: AppLocalizations.of(context)!.absprachen),
|
||||
controller: widget.absprachenC,
|
||||
hintText: AppLocalizations.of(context)!.kontabsp),
|
||||
controller: widget.kontAbspC,
|
||||
)),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: Absprachen,
|
||||
future: KontAbsp,
|
||||
builder: (BuildContext context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return DropdownButton<String>(
|
||||
items: snapshot.data!
|
||||
.map((item) =>
|
||||
buildMenuItem(item['Absprachen'].toString()))
|
||||
buildMenuItem(item['KontAbsp'].toString()))
|
||||
.toList(),
|
||||
onChanged: (value) {
|
||||
setState(
|
||||
() {
|
||||
selectedRudel = value;
|
||||
widget.absprachenC.text = value ?? '';
|
||||
widget.kontAbspC.text = value ?? '';
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -1871,25 +1871,25 @@ class _AbsprachenState extends State<Absprachen> {
|
||||
);
|
||||
}
|
||||
|
||||
// SonstBemerkungen
|
||||
// SonstBem
|
||||
|
||||
class SonstBemerkungen extends StatefulWidget {
|
||||
final TextEditingController sonstBemerkungenC;
|
||||
class SonstBem extends StatefulWidget {
|
||||
final TextEditingController sonstBemC;
|
||||
|
||||
const SonstBemerkungen({super.key, required this.sonstBemerkungenC});
|
||||
const SonstBem({super.key, required this.sonstBemC});
|
||||
|
||||
@override
|
||||
State<SonstBemerkungen> createState() => _SonstBemerkungenState();
|
||||
State<SonstBem> createState() => _SonstBemState();
|
||||
}
|
||||
|
||||
class _SonstBemerkungenState extends State<SonstBemerkungen> {
|
||||
class _SonstBemState extends State<SonstBem> {
|
||||
String? selectedRudel;
|
||||
late Future<List<Map<String, dynamic>>> SonstBemerkungen;
|
||||
late Future<List<Map<String, dynamic>>> SonstBem;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
SonstBemerkungen = DBHelper().getPlace();
|
||||
SonstBem = DBHelper().getPlace();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -1901,27 +1901,27 @@ class _SonstBemerkungenState extends State<SonstBemerkungen> {
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText: AppLocalizations.of(context)!.sonstbemerkungen),
|
||||
controller: widget.sonstBemerkungenC,
|
||||
controller: widget.sonstBemC,
|
||||
)),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: SonstBemerkungen,
|
||||
future: SonstBem,
|
||||
builder: (BuildContext context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return DropdownButton<String>(
|
||||
items: snapshot.data!
|
||||
.map((item) =>
|
||||
buildMenuItem(item['SonstBemerkungen'].toString()))
|
||||
buildMenuItem(item['SonstBem'].toString()))
|
||||
.toList(),
|
||||
onChanged: (value) {
|
||||
setState(
|
||||
() {
|
||||
selectedRudel = value;
|
||||
widget.sonstBemerkungenC.text = value ?? '';
|
||||
widget.sonstBemC.text = value ?? '';
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -2175,25 +2175,25 @@ class _FKontakt3State extends State<FKontakt3> {
|
||||
);
|
||||
}
|
||||
|
||||
// AltStOrt
|
||||
// Standort
|
||||
|
||||
class AltStOrt extends StatefulWidget {
|
||||
final TextEditingController altStOrtC;
|
||||
class Standort extends StatefulWidget {
|
||||
final TextEditingController standortC;
|
||||
|
||||
const AltStOrt({super.key, required this.altStOrtC});
|
||||
const Standort({super.key, required this.standortC});
|
||||
|
||||
@override
|
||||
State<AltStOrt> createState() => _AltStOrtState();
|
||||
State<Standort> createState() => _StandortState();
|
||||
}
|
||||
|
||||
class _AltStOrtState extends State<AltStOrt> {
|
||||
class _StandortState extends State<Standort> {
|
||||
String? selectedRudel;
|
||||
late Future<List<Map<String, dynamic>>> AltStOrt;
|
||||
late Future<List<Map<String, dynamic>>> Standort;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
AltStOrt = DBHelper().getPlace();
|
||||
Standort = DBHelper().getPlace();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2205,38 +2205,38 @@ class _AltStOrtState extends State<AltStOrt> {
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText: AppLocalizations.of(context)!.altstort,
|
||||
enabledBorder: widget.altStOrtC.text.isEmpty
|
||||
enabledBorder: widget.standortC.text.isEmpty
|
||||
? const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.red))
|
||||
: const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.green)),
|
||||
focusedBorder: widget.altStOrtC.text.isEmpty
|
||||
focusedBorder: widget.standortC.text.isEmpty
|
||||
? const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.red))
|
||||
: const UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: Colors.green)),
|
||||
),
|
||||
controller: widget.altStOrtC,
|
||||
controller: widget.standortC,
|
||||
)),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: AltStOrt,
|
||||
future: Standort,
|
||||
builder: (BuildContext context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return DropdownButton<String>(
|
||||
items: snapshot.data!
|
||||
.map((item) =>
|
||||
buildMenuItem(item['AltStOrt'].toString()))
|
||||
buildMenuItem(item['Standort'].toString()))
|
||||
.toList(),
|
||||
onChanged: (value) {
|
||||
setState(
|
||||
() {
|
||||
selectedRudel = value;
|
||||
widget.altStOrtC.text = value ?? '';
|
||||
widget.standortC.text = value ?? '';
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"platzung": "Platzierung",
|
||||
"zeiteinstellung": "Zeiteinstellung",
|
||||
"auftrag": "Auftrag",
|
||||
"absprachen": "Absprachen",
|
||||
"kontabsp": "Absprachen",
|
||||
"sonstbemerkungen": "Sonstige Bemerkungen",
|
||||
"fkontakt1": "Kontakt für Fläche",
|
||||
"fkontakt2": "Kontakt Eigentümer",
|
||||
|
||||
@@ -212,9 +212,9 @@
|
||||
"description": "Auftrag textfield"
|
||||
},
|
||||
|
||||
"absprachen": "Agreements",
|
||||
"@absprachen": {
|
||||
"description": "absprachen textfield"
|
||||
"kontabsp": "Agreements",
|
||||
"@kontabsp": {
|
||||
"description": "kontabsp textfield"
|
||||
},
|
||||
|
||||
"sonstbemerkungen": "Other remarks",
|
||||
|
||||
@@ -205,7 +205,7 @@ class _ViewCamsState extends State<ViewCams> {
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.locations}: ${place['Standort']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.adresse3}: ${place['PLZOrt']}'),
|
||||
'${AppLocalizations.of(context)!.adresse3}: ${place['Adresse3']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.bland}: ${place['BLand']}'),
|
||||
Text(
|
||||
@@ -217,15 +217,15 @@ class _ViewCamsState extends State<ViewCams> {
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.altstort}: ${place['AltStOrt']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.adresse1}: ${place['NameVorname']}'),
|
||||
'${AppLocalizations.of(context)!.adresse1}: ${place['Adresse1']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.adresse2}: ${place['EmailTel']}'),
|
||||
'${AppLocalizations.of(context)!.adresse2}: ${place['Adresse2']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.auftrag}: ${place['Auftrag']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.absprachen}: ${place['absprachen']}'),
|
||||
'${AppLocalizations.of(context)!.kontabsp}: ${place['KontAbsp']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.sonstbemerkungen}: ${place['SonstBemerkungen']}'),
|
||||
'${AppLocalizations.of(context)!.sonstbemerkungen}: ${place['SonstBem']}'),
|
||||
Text(
|
||||
'${AppLocalizations.of(context)!.fkontakt1}: ${place['FKontakt1']}'),
|
||||
Text(
|
||||
|
||||
Reference in New Issue
Block a user