Skip to content

Commit 06f478e

Browse files
committed
refactor: . Fix Task/Task.ts > lib/PriorityTools.ts cyclic dependency
1 parent 353f1ae commit 06f478e

27 files changed

+63
-52
lines changed

circular-deps.txt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Processed 150 files (1s) (16 warnings)
1+
Processed 151 files (7.5s) (16 warnings)
22

33
1) Config/Settings.ts > Suggestor/Suggestor.ts
44
2) Task/Task.ts > Config/Settings.ts > Suggestor/Suggestor.ts
@@ -8,11 +8,10 @@ Processed 150 files (1s) (16 warnings)
88
6) Task/Task.ts > Task/DateFallback.ts
99
7) Task/Task.ts > Task/Urgency.ts
1010
8) Task/Task.ts > lib/LogTasksHelper.ts
11-
9) Task/Task.ts > lib/PriorityTools.ts
12-
10) Query/Query.ts > Query/Explain/Explainer.ts
13-
11) Query/FilterParser.ts > Query/Filter/BooleanField.ts
14-
12) Statuses/StatusRegistryReport.ts > Statuses/StatusSettingsReport.ts
15-
13) main.ts > Config/SettingsTab.ts
16-
14) Obsidian/Cache.ts > Obsidian/TasksEvents.ts
17-
15) main.ts > Renderer/QueryRenderer.ts
11+
9) Query/Query.ts > Query/Explain/Explainer.ts
12+
10) Query/FilterParser.ts > Query/Filter/BooleanField.ts
13+
11) Statuses/StatusRegistryReport.ts > Statuses/StatusSettingsReport.ts
14+
12) main.ts > Config/SettingsTab.ts
15+
13) Obsidian/Cache.ts > Obsidian/TasksEvents.ts
16+
14) main.ts > Renderer/QueryRenderer.ts
1817

src/Commands/CreateOrEditTaskParser.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { Status } from '../Statuses/Status';
2-
import { Priority, Task, TaskRegularExpressions } from '../Task/Task';
2+
import { Task, TaskRegularExpressions } from '../Task/Task';
33
import { DateFallback } from '../Task/DateFallback';
44
import { StatusRegistry } from '../Statuses/StatusRegistry';
55
import { TaskLocation } from '../Task/TaskLocation';
66
import { getSettings } from '../Config/Settings';
77
import { GlobalFilter } from '../Config/GlobalFilter';
8+
import { Priority } from '../Task/Priority';
89

910
function getDefaultCreatedDate() {
1011
const { setCreatedDate } = getSettings();

src/Query/Filter/PriorityField.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { Priority, Task } from '../../Task/Task';
1+
import type { Task } from '../../Task/Task';
22
import { Explanation } from '../Explain/Explanation';
33
import type { Comparator } from '../Sort/Sorter';
44
import type { GrouperFunction } from '../Group/Grouper';
5+
import { Priority } from '../../Task/Priority';
56
import { Field } from './Field';
67
import { Filter } from './Filter';
78
import { FilterOrErrorMessage } from './FilterOrErrorMessage';

src/Task/Priority.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* When sorting, make sure low always comes after none. This way any tasks with low will be below any exiting
3+
* tasks that have no priority which would be the default.
4+
*
5+
* Values can be converted to strings with:
6+
* - {@link priorityNameUsingNone} in {@link PriorityTools}
7+
* - {@link priorityNameUsingNormal} in {@link PriorityTools}
8+
*
9+
* @export
10+
* @enum {number}
11+
*/
12+
export enum Priority {
13+
Highest = '0',
14+
High = '1',
15+
Medium = '2',
16+
None = '3',
17+
Low = '4',
18+
Lowest = '5',
19+
}

src/Task/Task.ts

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,7 @@ import { DateFallback } from './DateFallback';
1414
import { Urgency } from './Urgency';
1515
import type { Recurrence } from './Recurrence';
1616
import type { TaskLocation } from './TaskLocation';
17-
18-
/**
19-
* When sorting, make sure low always comes after none. This way any tasks with low will be below any exiting
20-
* tasks that have no priority which would be the default.
21-
*
22-
* Values can be converted to strings with:
23-
* - {@link priorityNameUsingNone} in {@link PriorityTools}
24-
* - {@link priorityNameUsingNormal} in {@link PriorityTools}
25-
*
26-
* @export
27-
* @enum {number}
28-
*/
29-
export enum Priority {
30-
Highest = '0',
31-
High = '1',
32-
Medium = '2',
33-
None = '3',
34-
Low = '4',
35-
Lowest = '5',
36-
}
17+
import type { Priority } from './Priority';
3718

3819
export class TaskRegularExpressions {
3920
public static readonly dateFormat = 'YYYY-MM-DD';

src/TaskSerializer/DataviewTaskSerializer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { TaskLayoutComponent } from '../Layout/TaskLayoutOptions';
22
import type { Task } from '../Task/Task';
3-
import { Priority } from '../Task/Task';
3+
import { Priority } from '../Task/Priority';
44
import { DefaultTaskSerializer } from './DefaultTaskSerializer';
55

66
/**

src/TaskSerializer/DefaultTaskSerializer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import type { Moment } from 'moment';
22
import { type TaskLayoutComponent, TaskLayoutOptions } from '../Layout/TaskLayoutOptions';
33
import { Recurrence } from '../Task/Recurrence';
4-
import { Priority, Task, TaskRegularExpressions } from '../Task/Task';
4+
import { Task, TaskRegularExpressions } from '../Task/Task';
5+
import { Priority } from '../Task/Priority';
56
import type { TaskDetails, TaskSerializer } from '.';
67

78
/* Interface describing the symbols that {@link DefaultTaskSerializer}

src/lib/PriorityTools.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Priority } from '../Task/Task';
1+
import { Priority } from '../Task/Priority';
22

33
export class PriorityTools {
44
/**

src/ui/EditInstructions/PriorityInstructions.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import { Priority, Task } from '../../Task/Task';
1+
import { Task } from '../../Task/Task';
22
import { PriorityTools } from '../../lib/PriorityTools';
3+
import { Priority } from '../../Task/Priority';
34
import type { TaskEditingInstruction } from './TaskEditingInstruction';
45

56
/**

src/ui/EditTask.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
import { getSettings, TASK_FORMATS } from '../Config/Settings';
66
import { GlobalFilter } from '../Config/GlobalFilter';
77
import { Status } from '../Statuses/Status';
8-
import { Priority, Task } from '../Task/Task';
8+
import { Task } from '../Task/Task';
99
import { doAutocomplete } from '../lib/DateAbbreviations';
1010
import { TasksDate } from '../Scripting/TasksDate';
1111
import { addDependencyToParent, ensureTaskHasId, generateUniqueId, removeDependency } from "../Task/TaskDependency";
1212
import { replaceTaskWithTasks } from "../Obsidian/File";
1313
import type { EditableTask } from "./EditableTask";
1414
import Dependency from "./Dependency.svelte";
15+
import { Priority } from '../Task/Priority';
1516
1617
// These exported variables are passed in as props by TaskModal.onOpen():
1718
export let task: Task;

0 commit comments

Comments
 (0)