From 730d082f1679d49ae26dec8efb3d8afd09a70ee1 Mon Sep 17 00:00:00 2001 From: Maximilian Betz <Maximilian.Betz@awi.de> Date: Wed, 19 Jan 2022 15:20:23 +0100 Subject: [PATCH] implemented selection of Event Type --- lib/addevent.dart | 22 +++++++++++----------- lib/datamodel.dart | 15 +++++++++++++++ lib/main.dart | 15 +++++++++++++-- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/lib/addevent.dart b/lib/addevent.dart index 8264b1d..52e4c3d 100644 --- a/lib/addevent.dart +++ b/lib/addevent.dart @@ -5,7 +5,9 @@ import 'datamodel.dart'; class AddEvent extends StatelessWidget { @override Widget build(BuildContext context) { + /* Get singletons to access relevant data here.*/ final EventTypeStoreInstance eventTypes = EventTypeStoreInstance(); + final EventCurrentInstance currentEvent = EventCurrentInstance(); return Scaffold( appBar: AppBar(title: const Text("Add Event")), @@ -19,21 +21,19 @@ class AddEvent extends StatelessWidget { ), ), DropdownButtonFormField( + value: currentEvent.store.type, decoration: const InputDecoration( labelText: 'Event Type', ), - items: [ - DropdownMenuItem( - child: Text('Calibration'), - value: 'Calibration', - ), - DropdownMenuItem( - child: Text('Information'), - value: 'Information', - ) - ], + items: + eventTypes.store.map((EventType event) { + return DropdownMenuItem( + value: event.name, + child: Text(event.name), + ); + }).toList(), onChanged: (value) { - + currentEvent.store.type = value.toString(); } ), DropdownButtonFormField( diff --git a/lib/datamodel.dart b/lib/datamodel.dart index 0896f73..26944a3 100644 --- a/lib/datamodel.dart +++ b/lib/datamodel.dart @@ -36,6 +36,9 @@ abstract class EventStoreBase{ List<Event> store = []; } +abstract class EventCurrentBase{ + Event store = Event(0, 'urn0', '', '', '', 'PENDING'); +} @@ -69,6 +72,18 @@ class EventStoreInstance extends EventStoreBase { } } +class EventCurrentInstance extends EventCurrentBase { + static final EventCurrentInstance _instance = EventCurrentInstance._internal(); + + factory EventCurrentInstance(){ + return _instance; + } + + EventCurrentInstance._internal(){ + store = Event(0, 'urn0', '', '', '', 'PENDING'); + } +} + class EventTypeStoreInstance extends EventTypeStoreBase{ static final EventTypeStoreInstance _instance = EventTypeStoreInstance._internal(); diff --git a/lib/main.dart b/lib/main.dart index 7277b4b..18898d3 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -7,12 +7,23 @@ import 'viewevents.dart'; import 'overview.dart'; import 'configuration.dart'; - - void main() { EventStoreInstance events = EventStoreInstance(); EventTypeStoreInstance eventTypes = EventTypeStoreInstance(); + EventCurrentInstance currentEvent = EventCurrentInstance(); + + + // Create current event as basis when starting add event widget + currentEvent.store.urn = 'ADCP'; + currentEvent.store.id = 1234; + currentEvent.store.description = 'blabla'; + currentEvent.store.label = 'PS129_ABC'; + currentEvent.store.type = 'Deployment'; + + + + //Add some dummy events to eventstore events.store.add(Event.fromJson({ -- GitLab