diff options
| author | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-08-16 20:54:02 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-08-16 20:54:02 +0200 |
| commit | 72aa769bc32bb920bd255e68d6ad508e8543a398 (patch) | |
| tree | 375f33dea71fe0c31a6827797d9fe62df05a5f72 /lib/widgets/agenda_week.dart | |
| parent | 9144664c98824924e3d7668557a4455693bcf7f6 (diff) | |
poop
Diffstat (limited to 'lib/widgets/agenda_week.dart')
| -rw-r--r-- | lib/widgets/agenda_week.dart | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/lib/widgets/agenda_week.dart b/lib/widgets/agenda_week.dart index 4a654ce..754a46b 100644 --- a/lib/widgets/agenda_week.dart +++ b/lib/widgets/agenda_week.dart @@ -10,11 +10,12 @@ class AgendaWeek extends StatefulWidget { final int weekNr; final DateTime mondayOfWeek; final bool isCurrentWeek; + Function? updateFunc; @override _AgendaWeekState createState() => _AgendaWeekState(); - const AgendaWeek({ + AgendaWeek({ Key? key, required this.weekNr, required this.mondayOfWeek, @@ -25,31 +26,40 @@ class AgendaWeek extends StatefulWidget { class _AgendaWeekState extends State<AgendaWeek> { List<Widget> weekItems = []; - @override - void initState() { - super.initState(); + void updateItems() { + setState(() { + shiftProvider + .getShiftsForWeek(this.widget.mondayOfWeek) + .then((value) => setState(() { + weekItems = [ + AgendaWeekTitle( + weekNr: this.widget.weekNr, + mondayOfWeek: this.widget.mondayOfWeek, + isCurrentWeek: this.widget.isCurrentWeek), + Padding( + padding: const EdgeInsets.all(10), + ) + ]; - shiftProvider - .getShiftsForWeek(this.widget.mondayOfWeek) - .then((value) => setState(() { - weekItems = [ - AgendaWeekTitle( - weekNr: this.widget.weekNr, - mondayOfWeek: this.widget.mondayOfWeek, - isCurrentWeek: this.widget.isCurrentWeek), - Padding( - padding: const EdgeInsets.all(10), - ) - ]; + for (var item in value) { + weekItems.add(new AgendaWeekItem( + shift: item, + updateParent: updateItems, + )); + } - for (var item in value) { - weekItems.add(new AgendaWeekItem(shift: item)); - } + weekItems.add(Padding( + padding: const EdgeInsets.all(50), + )); + })); + }); + } - weekItems.add(Padding( - padding: const EdgeInsets.all(50), - )); - })); + @override + void initState() { + super.initState(); + updateItems(); + widget.updateFunc = updateItems; } @override |
