Skip to content
This repository was archived by the owner on Dec 26, 2022. It is now read-only.

Commit d56ab75

Browse files
author
Dmitry Yadrikhinsky
committed
Delete
1 parent 4f4a227 commit d56ab75

File tree

5 files changed

+15
-6
lines changed

5 files changed

+15
-6
lines changed

src/base/CommonTypes.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/base/TreeModelStoreHelper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default abstract class TreeModelStoreHelper {
1919
return undefined;
2020
}
2121

22-
static getItemsRecursive<T extends ITreeItem<any>>(
22+
static getFlatItemsRecursive<T extends ITreeItem<any>>(
2323
tasks: T[],
2424
condition: (task: T) => boolean,
2525
result: T[]
@@ -29,7 +29,7 @@ export default abstract class TreeModelStoreHelper {
2929
result.push(task);
3030
}
3131
if (Array.isArray(task.children)) {
32-
this.getItemsRecursive(task.children, condition, result);
32+
this.getFlatItemsRecursive(task.children, condition, result);
3333
}
3434
}
3535
return result;

src/models/TaskModel.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export default class TaskModel extends AbstractModel {
2424
time: Date[][] = [];
2525
datesInProgress: Date[] = [];
2626
details: string = '';
27+
deleted: boolean = false;
2728

2829
constructor(props: IJsonTaskModel) {
2930
super();
@@ -75,6 +76,10 @@ export default class TaskModel extends AbstractModel {
7576
this.checked = checked;
7677
}
7778

79+
setDeleted() {
80+
this.deleted = true;
81+
}
82+
7883
start() {
7984
this.active = true;
8085
this.addDateWhenWasInProgress(new Date());

src/screens/projects/components/TaskNode/TaskNode.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default function TaskNode({ model }: TaskNodeProps) {
3030
) : (
3131
<PauseOutlined onClick={() => tasksStore.endTimer(model)} />
3232
)}
33-
<DeleteOutlined />
33+
<DeleteOutlined onClick={() => tasksStore.delete(model)} />
3434
</span>
3535
</div>
3636
);

src/services/tasks/TaskStore.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default class TaskStore {
4545
}
4646

4747
for (const tasks of Object.values(this.tasks)) {
48-
TreeModelStoreHelper.getItemsRecursive(tasks, condition, result);
48+
TreeModelStoreHelper.getFlatItemsRecursive(tasks, condition, result);
4949
}
5050
return result;
5151
}
@@ -60,6 +60,11 @@ export default class TaskStore {
6060
this.tasksService.save(this.tasks);
6161
}
6262

63+
delete(task: TaskModel) {
64+
task.setDeleted();
65+
this.tasksService.save(this.tasks);
66+
}
67+
6368
startTimer(task: TaskModel) {
6469
if (this.activeTask) {
6570
this.endTimer(this.activeTask);
@@ -87,7 +92,7 @@ export default class TaskStore {
8792

8893
if (Array.isArray(this.tasks[projectId])) {
8994
const found: TaskModel[] = [];
90-
TreeModelStoreHelper.getItemsRecursive(
95+
TreeModelStoreHelper.getFlatItemsRecursive(
9196
this.tasks[projectId],
9297
condition,
9398
found

0 commit comments

Comments
 (0)