| 961 | } |
| 962 | |
| 963 | private getModelConfig(): Readonly<TaskNotesModelConfig> { |
| 964 | const settings = this.plugin.settings; |
| 965 | return resolveModelConfig({ |
| 966 | fieldMapping: settings.fieldMapping, |
| 967 | statuses: settings.customStatuses, |
| 968 | priorities: settings.customPriorities, |
| 969 | defaults: { |
| 970 | status: settings.defaultTaskStatus ?? "open", |
| 971 | priority: settings.defaultTaskPriority ?? "normal", |
| 972 | taskTag: settings.taskTag ?? "task", |
| 973 | }, |
| 974 | taskIdentification: { |
| 975 | method: settings.taskIdentificationMethod ?? "tag", |
| 976 | tag: settings.taskTag ?? "task", |
| 977 | propertyName: settings.taskPropertyName ?? "type", |
| 978 | propertyValue: settings.taskPropertyValue ?? "task", |
| 979 | excludedFolders: settings.excludedFolders ?? "", |
| 980 | }, |
| 981 | storeTitleInFilename: settings.storeTitleInFilename ?? false, |
| 982 | userFields: settings.userFields ?? [], |
| 983 | recurrence: { |
| 984 | maintainDueDateOffset: settings.maintainDueDateOffsetInRecurring ?? true, |
| 985 | resetCheckboxesOnRecurrence: settings.resetCheckboxesOnRecurrence ?? true, |
| 986 | }, |
| 987 | timeTracking: { |
| 988 | autoStopOnComplete: settings.autoStopTimeTrackingOnComplete ?? false, |
| 989 | autoStopNotification: settings.autoStopTimeTrackingNotification ?? true, |
| 990 | defaultSessionDescription: "", |
| 991 | }, |
| 992 | }); |
| 993 | } |
| 994 | |
| 995 | private validateTask(task: Partial<TaskInfo>): TaskValidationResult { |
| 996 | return evaluateCoreValidation(task, this.plugin.settings.customStatuses ?? []); |