feat(reminder): add snooze until tomorrow to list items

This commit is contained in:
Johannes Millan 2020-08-28 16:38:06 +02:00
parent 275ddec740
commit f1f6af930f
3 changed files with 22 additions and 4 deletions

View file

@ -62,6 +62,12 @@
<mat-icon>snooze</mat-icon>
{{T.G.MINUTES|translate:{m: 60} }}
</button>
<button (click)="snoozeUntilTomorrow(task)"
[disabled]="isDisableControls"
mat-menu-item>
<mat-icon>snooze</mat-icon>
{{T.F.TASK.D_REMINDER_VIEW.SNOOZE_UNTIL_TOMORROW|translate}}
</button>
<button (click)="dismiss(task)"
mat-menu-item>
<mat-icon>alarm_off</mat-icon>

View file

@ -12,6 +12,7 @@ import { AddTaskReminderInterface } from '../dialog-add-task-reminder/add-task-r
import { TODAY_TAG } from '../../tag/tag.const';
import { standardListAnimation } from '../../../ui/animations/standard-list.ani';
import { unique } from '../../../util/unique';
import { getTomorrow } from '../../../util/get-tomorrow';
const M = 1000 * 60;
@ -95,6 +96,13 @@ export class DialogViewTaskRemindersComponent implements OnDestroy {
this._removeFromList(task.reminderId as string);
}
snoozeUntilTomorrow(task: TaskWithReminderData) {
this._reminderService.updateReminder(task.reminderData.id, {
remindAt: getTomorrow().getTime()
});
this._removeFromList(task.reminderId as string);
}
editReminder(task: TaskWithReminderData, isCloseAfter: boolean = false) {
this._subs.add(this._matDialog.open(DialogAddTaskReminderComponent, {
restoreFocus: true,
@ -125,12 +133,10 @@ export class DialogViewTaskRemindersComponent implements OnDestroy {
snoozeAllUntilTomorrow() {
this.isDisableControls = true;
const date = new Date();
date.setHours(9, 0, 0, 0);
date.setDate(date.getDate() + 1);
const tomorrow = getTomorrow().getTime();
this.reminders$.getValue().forEach((reminder) => {
this._reminderService.updateReminder(reminder.id, {
remindAt: date.getTime()
remindAt: tomorrow
});
});
this._close();

View file

@ -0,0 +1,6 @@
export const getTomorrow = (hour = 9): Date => {
const date = new Date();
date.setHours(hour, 0, 0, 0);
date.setDate(date.getDate() + 1);
return date;
};