summaryrefslogtreecommitdiff
path: root/lib/widgets/agenda_week.dart
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik@amftech.nl>2022-08-16 20:54:02 +0200
committerAldrik Ramaekers <aldrik@amftech.nl>2022-08-16 20:54:02 +0200
commit72aa769bc32bb920bd255e68d6ad508e8543a398 (patch)
tree375f33dea71fe0c31a6827797d9fe62df05a5f72 /lib/widgets/agenda_week.dart
parent9144664c98824924e3d7668557a4455693bcf7f6 (diff)
poop
Diffstat (limited to 'lib/widgets/agenda_week.dart')
-rw-r--r--lib/widgets/agenda_week.dart56
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