diff --git a/frontend/components/TaskDialog.vue b/frontend/components/TaskDialog.vue
index 97386d2..02faa49 100644
--- a/frontend/components/TaskDialog.vue
+++ b/frontend/components/TaskDialog.vue
@@ -24,6 +24,10 @@
hide-selected
label="Project"
/>
+
{{ displayDate(item.wait) }}
+
+ {{ displayDate(item.scheduled) }}
+
{{ displayDate(item.due) }}
@@ -226,6 +229,14 @@ function expiredDate(str?: string) {
return date.isBefore(moment());
}
+function futureDate(str?: string) {
+ if (!str)
+ return false;
+
+ const date = moment(str);
+ return date.isAfter(moment());
+}
+
function linkify(text: string) {
const regex = urlRegex();
@@ -271,6 +282,7 @@ export default defineComponent({
{ text: 'Project', value: 'project' },
{ text: 'Description', value: 'description' },
{ text: 'Priority', value: 'priority' },
+ { text: 'Scheduled', value: 'scheduled' },
...(status.value === 'recurring'
? [{ text: 'Recur', value: 'recur' }]
: []),
@@ -286,8 +298,10 @@ export default defineComponent({
const tempTasks: { [key: string]: ComputedRef } = {};
for (const status of allStatus) {
tempTasks[status] = computed((): Task[] => props.tasks?.filter(task => {
- if (status === "waiting") {
- return task.status === "pending" && task.wait && !expiredDate(task.wait);
+ if (status === "waiting" || status === "pending") {
+ const waiting = (task.wait && !expiredDate(task.wait))
+ || (task.scheduled && futureDate(task.scheduled));
+ return task.status === "pending" && (status === "pending" ? !waiting : waiting);
}
else if (status === "pending") {
return task.status === "pending" && !(task.wait && !expiredDate(task.wait));