11import { GlobalFilter } from '../Config/GlobalFilter' ;
22import { parseTypedDateForSaving } from '../DateTime/DateTools' ;
3+ import { PriorityTools } from '../lib/PriorityTools' ;
34import { replaceTaskWithTasks } from '../Obsidian/File' ;
45import type { Status } from '../Statuses/Status' ;
56import type { OnCompletion } from '../Task/OnCompletion' ;
@@ -10,8 +11,6 @@ import { Task } from '../Task/Task';
1011import { addDependencyToParent , ensureTaskHasId , generateUniqueId , removeDependency } from '../Task/TaskDependency' ;
1112import { StatusType } from '../Statuses/StatusConfiguration' ;
1213
13- type EditableTaskPriority = 'none' | 'lowest' | 'low' | 'medium' | 'high' | 'highest' ;
14-
1514/**
1615 * {@link Task } objects are immutable. This class allows to create a mutable object from a {@link Task }, apply the edits,
1716 * and get the resulting task(s).
@@ -24,7 +23,7 @@ export class EditableTask {
2423 // NEW_TASK_FIELD_EDIT_REQUIRED
2524 description : string ;
2625 status : Status ;
27- priority : EditableTaskPriority ;
26+ priority : string ;
2827 recurrenceRule : string ;
2928 onCompletion : OnCompletion ;
3029 createdDate : string ;
@@ -44,7 +43,7 @@ export class EditableTask {
4443 // NEW_TASK_FIELD_EDIT_REQUIRED
4544 description : string ;
4645 status : Status ;
47- priority : EditableTaskPriority ;
46+ priority : string ;
4847 onCompletion : OnCompletion ;
4948 recurrenceRule : string ;
5049 createdDate : string ;
@@ -90,7 +89,7 @@ export class EditableTask {
9089 const addGlobalFilterOnSave =
9190 description != task . description || ! GlobalFilter . getInstance ( ) . includedIn ( task . description ) ;
9291
93- let priority : EditableTaskPriority = 'none' ;
92+ let priority = 'none' ;
9493 if ( task . priority === Priority . Lowest ) {
9594 priority = 'lowest' ;
9695 } else if ( task . priority === Priority . Low ) {
@@ -168,27 +167,6 @@ export class EditableTask {
168167 } ) ;
169168 }
170169
171- let parsedPriority : Priority ;
172- switch ( this . priority ) {
173- case 'lowest' :
174- parsedPriority = Priority . Lowest ;
175- break ;
176- case 'low' :
177- parsedPriority = Priority . Low ;
178- break ;
179- case 'medium' :
180- parsedPriority = Priority . Medium ;
181- break ;
182- case 'high' :
183- parsedPriority = Priority . High ;
184- break ;
185- case 'highest' :
186- parsedPriority = Priority . Highest ;
187- break ;
188- default :
189- parsedPriority = Priority . None ;
190- }
191-
192170 const parsedOnCompletion : OnCompletion = this . onCompletion ;
193171
194172 const blockedByWithIds = [ ] ;
@@ -218,7 +196,7 @@ export class EditableTask {
218196 ...task ,
219197 description,
220198 status : task . status ,
221- priority : parsedPriority ,
199+ priority : PriorityTools . priorityValue ( this . priority ) ,
222200 onCompletion : parsedOnCompletion ,
223201 recurrence,
224202 startDate,
0 commit comments