diff --git a/lib/addevent.dart b/lib/addevent.dart index 8264b1da29fcacbf62d80e039f0a9b61b19ae8d3..52e4c3d977b31bb328768cf79e91d9d9ba3365e4 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 0896f73adcf62478b60afd720a0c9c8a70c151f4..26944a31616ee8ed7b77ddfad59f459342afc237 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 7277b4be6d0d2ba011d816436ff7f11270df5998..18898d3ec6f4f0b6e683bb73c63726e816404ec7 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({