From 11fdf5929a6da04f0adafb28fa2ddc019c51fc41 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Fri, 31 Jan 2025 16:33:55 +0100 Subject: [PATCH] Apply table filters on /tasks load (fixes #2660) --- changelog/78_UNRELEASED_xxxx-xx-xx.md | 2 +- public/js/grocy.js | 12 +++++----- public/viewjs/tasks.js | 34 +++++++++++++++++---------- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/changelog/78_UNRELEASED_xxxx-xx-xx.md b/changelog/78_UNRELEASED_xxxx-xx-xx.md index 7cdfa8f3..58f53f43 100644 --- a/changelog/78_UNRELEASED_xxxx-xx-xx.md +++ b/changelog/78_UNRELEASED_xxxx-xx-xx.md @@ -36,7 +36,7 @@ ### Tasks -- xxx +- Fixed that set table filters were not applied after editing or adding a task ### Batteries diff --git a/public/js/grocy.js b/public/js/grocy.js index b7bd6476..a1f3d2aa 100644 --- a/public/js/grocy.js +++ b/public/js/grocy.js @@ -299,22 +299,22 @@ RefreshContextualTimeago = function(rootSelector = "#page-content") if (!element.hasAttr("datetime")) { - element.text("") - return + element.text(""); + return; } var timestamp = element.attr("datetime"); if (!timestamp || timestamp.length < 10) { - element.text("") - return + element.text(""); + return; } if (!moment(timestamp).isValid()) { - element.text("") - return + element.text(""); + return; } var isNever = timestamp && timestamp.substring(0, 10) == "2999-12-31"; diff --git a/public/viewjs/tasks.js b/public/viewjs/tasks.js index 96720992..4e321c45 100644 --- a/public/viewjs/tasks.js +++ b/public/viewjs/tasks.js @@ -199,20 +199,23 @@ function RefreshStatistics() result.forEach(element => { - var date = moment(element.due_date + " 23:59:59").endOf("day"); + if (element.due_date) + { + var date = moment(element.due_date + " 23:59:59").endOf("day"); - if (date.isSameOrBefore(overdueThreshold)) - { - overdueCount++; - } - else if (date.isSameOrBefore(todayThreshold)) - { - dueTodayCount++; - dueSoonCount++; - } - else if (date.isSameOrBefore(nextXDaysThreshold)) - { - dueSoonCount++; + if (date.isSameOrBefore(overdueThreshold)) + { + overdueCount++; + } + else if (date.isSameOrBefore(todayThreshold)) + { + dueTodayCount++; + dueSoonCount++; + } + else if (date.isSameOrBefore(nextXDaysThreshold)) + { + dueSoonCount++; + } } }); @@ -228,3 +231,8 @@ function RefreshStatistics() } RefreshStatistics(); + +// Apply filters (there are maybe some set when a task was just edited) +$("#search").trigger("keyup"); +$("#status-filter").trigger("change"); +$("#category-filter").trigger("change");