feat(reminder): properly reset plannedAt whenever it makes sense

This commit is contained in:
Johannes Millan 2021-05-16 12:32:57 +02:00
parent b0a41b744e
commit 7cb38b04b4
21 changed files with 52 additions and 47 deletions

View file

@ -65,12 +65,12 @@
{{T.G.MINUTES|translate:{m: 60} }}
</button>
<button
(click)="snoozeUntilTomorrow(task)"
(click)="rescheduleUntilTomorrow(task)"
[disabled]="isDisableControls"
mat-menu-item
>
<mat-icon>snooze</mat-icon>
{{T.F.TASK.D_REMINDER_VIEW.SNOOZE_UNTIL_TOMORROW|translate}}
<mat-icon>schedule</mat-icon>
{{T.F.TASK.D_REMINDER_VIEW.RESCHEDULE_UNTIL_TOMORROW|translate}}
</button>
<button (click)="dismiss(task)" mat-menu-item>
<mat-icon>alarm_off</mat-icon>
@ -142,12 +142,12 @@
{{T.G.MINUTES|translate:{m: 60} }}
</button>
<button
(click)="snoozeAllUntilTomorrow()"
(click)="rescheduleAllUntilTomorrow()"
[disabled]="isDisableControls"
mat-menu-item
>
<mat-icon>snooze</mat-icon>
{{T.F.TASK.D_REMINDER_VIEW.SNOOZE_UNTIL_TOMORROW|translate}}
<mat-icon>schedule</mat-icon>
{{T.F.TASK.D_REMINDER_VIEW.RESCHEDULE_UNTIL_TOMORROW|translate}}
</button>
<button (click)="editReminder(tasks[0], true)" *ngIf="!isMultiple" mat-menu-item>
<mat-icon>edit</mat-icon>

View file

@ -106,6 +106,7 @@ export class DialogViewTaskRemindersComponent implements OnDestroy {
dismiss(task: TaskWithReminderData) {
this._taskService.update(task.id, {
reminderId: null,
plannedAt: null,
});
this._reminderService.removeReminder(task.reminderData.id);
this._removeFromList(task.reminderId as string);
@ -119,10 +120,14 @@ export class DialogViewTaskRemindersComponent implements OnDestroy {
this._removeFromList(task.reminderId as string);
}
snoozeUntilTomorrow(task: TaskWithReminderData) {
rescheduleUntilTomorrow(task: TaskWithReminderData) {
const remindTime = getTomorrow().getTime();
this._reminderService.updateReminder(task.reminderData.id, {
remindAt: getTomorrow().getTime(),
});
this._taskService.update(task.id, {
plannedAt: remindTime,
});
this._removeFromList(task.reminderId as string);
}
@ -160,15 +165,14 @@ export class DialogViewTaskRemindersComponent implements OnDestroy {
this._close();
}
snoozeAllUntilTomorrow() {
rescheduleAllUntilTomorrow() {
this.isDisableControls = true;
const tomorrow = getTomorrow().getTime();
this.reminders$.getValue().forEach((reminder) => {
this._reminderService.updateReminder(reminder.id, {
remindAt: tomorrow,
});
});
this._close();
this._subs.add(
this.tasks$.subscribe((tasks) => {
tasks.forEach((t) => this.rescheduleUntilTomorrow(t));
this._close();
}),
);
}
async addAllToToday() {

View file

@ -299,6 +299,7 @@ export class TaskRelatedModelEffects {
...task,
reminderId: null,
isDone: true,
plannedAt: null,
})),
currentArchive,
);

View file

@ -115,7 +115,7 @@ export class TaskReminderEffects {
return new UpdateTask({
task: {
id,
changes: { reminderId: null },
changes: { reminderId: null, plannedAt: null },
},
});
}),

View file

@ -705,14 +705,14 @@ const T = {
DATETIME_FOR: 'F.TASK.D_REMINDER_ADD.DATETIME_FOR',
EDIT: 'F.TASK.D_REMINDER_ADD.EDIT',
MOVE_TO_BACKLOG: 'F.TASK.D_REMINDER_ADD.MOVE_TO_BACKLOG',
SCHEDULE: 'F.TASK.D_REMINDER_ADD.SCHEDULE',
UNSCHEDULE: 'F.TASK.D_REMINDER_ADD.UNSCHEDULE',
RO_START: 'F.TASK.D_REMINDER_ADD.RO_START',
RO_5M: 'F.TASK.D_REMINDER_ADD.RO_5M',
RO_10M: 'F.TASK.D_REMINDER_ADD.RO_10M',
RO_15M: 'F.TASK.D_REMINDER_ADD.RO_15M',
RO_30M: 'F.TASK.D_REMINDER_ADD.RO_30M',
RO_1H: 'F.TASK.D_REMINDER_ADD.RO_1H',
RO_30M: 'F.TASK.D_REMINDER_ADD.RO_30M',
RO_5M: 'F.TASK.D_REMINDER_ADD.RO_5M',
RO_START: 'F.TASK.D_REMINDER_ADD.RO_START',
SCHEDULE: 'F.TASK.D_REMINDER_ADD.SCHEDULE',
UNSCHEDULE: 'F.TASK.D_REMINDER_ADD.UNSCHEDULE',
},
D_REMINDER_VIEW: {
ADD_ALL_TO_TODAY: 'F.TASK.D_REMINDER_VIEW.ADD_ALL_TO_TODAY',
@ -727,7 +727,7 @@ const T = {
FROM_TAG: 'F.TASK.D_REMINDER_VIEW.FROM_TAG',
SNOOZE: 'F.TASK.D_REMINDER_VIEW.SNOOZE',
SNOOZE_ALL: 'F.TASK.D_REMINDER_VIEW.SNOOZE_ALL',
SNOOZE_UNTIL_TOMORROW: 'F.TASK.D_REMINDER_VIEW.SNOOZE_UNTIL_TOMORROW',
RESCHEDULE_UNTIL_TOMORROW: 'F.TASK.D_REMINDER_VIEW.RESCHEDULE_UNTIL_TOMORROW',
START: 'F.TASK.D_REMINDER_VIEW.START',
SWITCH_CONTEXT_START: 'F.TASK.D_REMINDER_VIEW.SWITCH_CONTEXT_START',
},
@ -797,16 +797,16 @@ const T = {
},
},
TIMELINE: {
MENU_TITLE: 'F.TIMELINE.MENU_TITLE',
NO_TASKS: 'F.TIMELINE.NO_TASKS',
NOW: 'F.TIMELINE.NOW',
D_INITIAL: {
TITLE: 'F.TIMELINE.D_INITIAL.TITLE',
TEXT: 'F.TIMELINE.D_INITIAL.TEXT',
},
START: 'F.TIMELINE.START',
CONTINUED: 'F.TIMELINE.CONTINUED',
D_INITIAL: {
TEXT: 'F.TIMELINE.D_INITIAL.TEXT',
TITLE: 'F.TIMELINE.D_INITIAL.TITLE',
},
END: 'F.TIMELINE.END',
MENU_TITLE: 'F.TIMELINE.MENU_TITLE',
NOW: 'F.TIMELINE.NOW',
NO_TASKS: 'F.TIMELINE.NO_TASKS',
START: 'F.TIMELINE.START',
},
TIME_TRACKING: {
B: {
@ -973,6 +973,7 @@ const T = {
SYSTEM_SHORTCUTS: 'GCF.KEYBOARD.SYSTEM_SHORTCUTS',
TASK_ADD_SUB_TASK: 'GCF.KEYBOARD.TASK_ADD_SUB_TASK',
TASK_DELETE: 'GCF.KEYBOARD.TASK_DELETE',
TASK_EDIT_TAGS: 'GCF.KEYBOARD.TASK_EDIT_TAGS',
TASK_EDIT_TITLE: 'GCF.KEYBOARD.TASK_EDIT_TITLE',
TASK_MOVE_TO_PROJECT: 'GCF.KEYBOARD.TASK_MOVE_TO_PROJECT',
TASK_OPEN_CONTEXT_MENU: 'GCF.KEYBOARD.TASK_OPEN_CONTEXT_MENU',
@ -986,7 +987,6 @@ const T = {
TOGGLE_BACKLOG: 'GCF.KEYBOARD.TOGGLE_BACKLOG',
TOGGLE_BOOKMARKS: 'GCF.KEYBOARD.TOGGLE_BOOKMARKS',
TOGGLE_PLAY: 'GCF.KEYBOARD.TOGGLE_PLAY',
TASK_EDIT_TAGS: 'GCF.KEYBOARD.TASK_EDIT_TAGS',
TOGGLE_SIDE_NAV: 'GCF.KEYBOARD.TOGGLE_SIDE_NAV',
ZOOM_DEFAULT: 'GCF.KEYBOARD.ZOOM_DEFAULT',
ZOOM_IN: 'GCF.KEYBOARD.ZOOM_IN',

View file

@ -723,7 +723,7 @@
"FROM_TAG": "من العلامة: \"{{title}}\"",
"SNOOZE": "قيلولة بعد الظهر",
"SNOOZE_ALL": "تأجيل الكل",
"SNOOZE_UNTIL_TOMORROW": "حتى الغد",
"RESCHEDULE_UNTIL_TOMORROW": "حتى الغد",
"START": "بدء المهمة",
"SWITCH_CONTEXT_START": "تبديل السياق والبدء"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "Vom Tag: \"{{title}}\"",
"SNOOZE": "Snooze",
"SNOOZE_ALL": "Schlummer alle",
"SNOOZE_UNTIL_TOMORROW": "Bis morgen",
"RESCHEDULE_UNTIL_TOMORROW": "Bis morgen",
"START": "Task starten",
"SWITCH_CONTEXT_START": "Kontext wechseln & starten"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "From Tag: \"{{title}}\"",
"SNOOZE": "Snooze",
"SNOOZE_ALL": "Snooze all",
"SNOOZE_UNTIL_TOMORROW": "Until tomorrow",
"RESCHEDULE_UNTIL_TOMORROW": "Re-schedule for tomorrow",
"START": "Start",
"SWITCH_CONTEXT_START": "Switch Context & Start"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "De la etiqueta: \"{{title}}\"",
"SNOOZE": "Posponer",
"SNOOZE_ALL": "Posponer todo",
"SNOOZE_UNTIL_TOMORROW": "Hasta mañana",
"RESCHEDULE_UNTIL_TOMORROW": "Hasta mañana",
"START": "Iniciar tarea",
"SWITCH_CONTEXT_START": "Cambiar contexto e inicio"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "از برچسب: \"{{title}}\"",
"SNOOZE": "Snooze",
"SNOOZE_ALL": "تعویق همه",
"SNOOZE_UNTIL_TOMORROW": "تا فردا",
"RESCHEDULE_UNTIL_TOMORROW": "تا فردا",
"START": "Start Task",
"SWITCH_CONTEXT_START": "تغییر متن و شروع"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "De la balise: \"{{title}}\"",
"SNOOZE": "Snooze",
"SNOOZE_ALL": "Répéter tout",
"SNOOZE_UNTIL_TOMORROW": "Jusqu'à demain",
"RESCHEDULE_UNTIL_TOMORROW": "Jusqu'à demain",
"START": "Démarrer la tâche",
"SWITCH_CONTEXT_START": "Changer de contexte et démarrer"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "Da etichetta: \"{{title}}\"",
"SNOOZE": "Silenzia",
"SNOOZE_ALL": "Posticipa tutto",
"SNOOZE_UNTIL_TOMORROW": "Fino a domani",
"RESCHEDULE_UNTIL_TOMORROW": "Fino a domani",
"START": "Inizia task",
"SWITCH_CONTEXT_START": "Cambia progetto & inizia task"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "タグから:「{{title}}」",
"SNOOZE": "スヌーズ",
"SNOOZE_ALL": "すべてスヌーズ",
"SNOOZE_UNTIL_TOMORROW": "明日まで",
"RESCHEDULE_UNTIL_TOMORROW": "明日まで",
"START": "開始タスク",
"SWITCH_CONTEXT_START": "コンテキストの切り替えと開始"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "태그에서 : \"{{title}}\"",
"SNOOZE": "다시 알림",
"SNOOZE_ALL": "모두 다시 알림",
"SNOOZE_UNTIL_TOMORROW": "내일까지",
"RESCHEDULE_UNTIL_TOMORROW": "내일까지",
"START": "작업 시작",
"SWITCH_CONTEXT_START": "상황 전환 및 시작"
},

View file

@ -681,7 +681,7 @@
"FROM_TAG": "Fra tag: \"{{title}}\"",
"SNOOZE": "Slumre",
"SNOOZE_ALL": "Utsett alle",
"SNOOZE_UNTIL_TOMORROW": "Til i morgen",
"RESCHEDULE_UNTIL_TOMORROW": "Til i morgen",
"START": "Start",
"SWITCH_CONTEXT_START": "Bytt kontekst og start"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "Van tag: \"{{title}}\"",
"SNOOZE": "Snooze",
"SNOOZE_ALL": "Snooze All",
"SNOOZE_UNTIL_TOMORROW": "Tot morgen",
"RESCHEDULE_UNTIL_TOMORROW": "Tot morgen",
"START": "Begin",
"SWITCH_CONTEXT_START": "Wissel van context en start"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "Da tag: \"{{title}}\"",
"SNOOZE": "Soneca",
"SNOOZE_ALL": "Suspender tudo",
"SNOOZE_UNTIL_TOMORROW": "Até amanhã",
"RESCHEDULE_UNTIL_TOMORROW": "Até amanhã",
"START": "Iniciar tarefa",
"SWITCH_CONTEXT_START": "Alternar contexto e iniciar"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "Из тега: \"{{title}}\"",
"SNOOZE": "Отложить",
"SNOOZE_ALL": "Отложить все",
"SNOOZE_UNTIL_TOMORROW": "До завтра",
"RESCHEDULE_UNTIL_TOMORROW": "До завтра",
"START": "Начать задание",
"SWITCH_CONTEXT_START": "Переключить контекст и начать"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "Etiketten: \"{{title}}\"",
"SNOOZE": "Erteleme",
"SNOOZE_ALL": "Tümünü ertele",
"SNOOZE_UNTIL_TOMORROW": "Yarına kadar",
"RESCHEDULE_UNTIL_TOMORROW": "Yarına kadar",
"START": "Görevi Başlat",
"SWITCH_CONTEXT_START": "Bağlam Değiştir ve Başlat"
},

View file

@ -723,7 +723,7 @@
"FROM_TAG": "来自标签:“{{title}}”",
"SNOOZE": "暂停",
"SNOOZE_ALL": "全部暂停",
"SNOOZE_UNTIL_TOMORROW": "明天重新开始",
"RESCHEDULE_UNTIL_TOMORROW": "明天重新开始",
"START": "开始任务",
"SWITCH_CONTEXT_START": "切换内容上下文并开始"
},

View file

@ -667,7 +667,7 @@
"FROM_TAG": "來自標籤:\"{{title}}\"",
"SNOOZE": "暫停",
"SNOOZE_ALL": "全部暫停",
"SNOOZE_UNTIL_TOMORROW": "明天重新開始",
"RESCHEDULE_UNTIL_TOMORROW": "明天重新開始",
"START": "開始任務",
"SWITCH_CONTEXT_START": "切換內容上下文並開始"
},