1
0

feat: Use new Reminders API instead of reminder_dates

This commit is contained in:
ce72
2023-03-11 19:20:07 +01:00
committed by kolaente
parent 8a75790453
commit f747d5b2fc
8 changed files with 60 additions and 34 deletions

View File

@ -20,6 +20,8 @@ import LabelModel from './label'
import UserModel from './user'
import AttachmentModel from './attachment'
import SubscriptionModel from './subscription'
import type {ITaskReminder} from '@/modelTypes/ITaskReminder'
import TaskReminderModel from '@/models/taskReminder'
export const TASK_DEFAULT_COLOR = '#1973ff'
@ -68,7 +70,8 @@ export default class TaskModel extends AbstractModel<ITask> implements ITask {
repeatAfter: number | IRepeatAfter = 0
repeatFromCurrentDate = false
repeatMode: IRepeatMode = TASK_REPEAT_MODES.REPEAT_MODE_DEFAULT
reminderDates: Date[] = []
reminderDates = null
reminders: ITaskReminder[] = []
parentTaskId: ITask['id'] = 0
hexColor = ''
percentDone = 0
@ -115,7 +118,7 @@ export default class TaskModel extends AbstractModel<ITask> implements ITask {
// Parse the repeat after into something usable
this.repeatAfter = parseRepeatAfter(this.repeatAfter as number)
this.reminderDates = this.reminderDates.map(d => new Date(d))
this.reminders = this.reminders.map(r => new TaskReminderModel(r))
if (this.hexColor !== '' && this.hexColor.substring(0, 1) !== '#') {
this.hexColor = '#' + this.hexColor

View File

@ -0,0 +1,17 @@
import AbstractModel from './abstractModel'
import type {ITaskReminder} from '@/modelTypes/ITaskReminder'
import {parseDateOrNull} from '@/helpers/parseDateOrNull'
import type {IReminderPeriodRelativeTo} from '@/types/IReminderPeriodRelativeTo'
export default class TaskReminderModel extends AbstractModel<ITaskReminder> implements ITaskReminder {
reminder: Date | null
relativePeriod: number = 0
relativeTo: IReminderPeriodRelativeTo | null = null
constructor(data: Partial<ITaskReminder> = {}) {
super()
this.assignData(data)
this.reminder = parseDateOrNull(data.reminder)
}
}