From d35e46514ea780bcd02bc44b883989964dd6cac8 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Mon, 16 Aug 2021 18:50:30 +0200 Subject: [PATCH] Allow deleting nutritional diary entries --- lib/providers/nutrition.dart | 7 +++++++ lib/widgets/nutrition/nutritional_diary_detail.dart | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/providers/nutrition.dart b/lib/providers/nutrition.dart index 8046efa8..46b45a69 100644 --- a/lib/providers/nutrition.dart +++ b/lib/providers/nutrition.dart @@ -339,6 +339,13 @@ class NutritionPlansProvider extends WgerBaseProvider with ChangeNotifier { notifyListeners(); } + /// Deletes a log entry + Future deleteLog(int logId, int planId) async { + final plan = findById(planId); + plan.logs.removeWhere((element) => element.id == logId); + notifyListeners(); + } + /// Load nutrition diary entries for plan Future fetchAndSetLogs(NutritionalPlan plan) async { // TODO: update fetch to that it can use the pagination diff --git a/lib/widgets/nutrition/nutritional_diary_detail.dart b/lib/widgets/nutrition/nutritional_diary_detail.dart index 3080166a..1a25ad55 100644 --- a/lib/widgets/nutrition/nutritional_diary_detail.dart +++ b/lib/widgets/nutrition/nutritional_diary_detail.dart @@ -19,9 +19,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:intl/intl.dart'; +import 'package:provider/provider.dart'; import 'package:wger/models/nutrition/log.dart'; import 'package:wger/models/nutrition/nutritional_plan.dart'; import 'package:wger/models/nutrition/nutritrional_values.dart'; +import 'package:wger/providers/nutrition.dart'; import 'package:wger/theme/theme.dart'; import 'package:wger/widgets/core/core.dart'; import 'package:wger/widgets/nutrition/charts.dart'; @@ -216,7 +218,12 @@ class NutritionalDiaryDetailWidget extends StatelessWidget { ], ), ), - IconButton(onPressed: null, icon: Icon(Icons.edit)), + IconButton( + onPressed: () { + Provider.of(context, listen: false) + .deleteLog(log.id!, _nutritionalPlan.id!); + }, + icon: Icon(Icons.delete_outline)), ], ); }).toList();