@@ -13,6 +13,7 @@ final class Project : Codable {
var timestamp: Date
var category: String = ""
var name: String = "New Project"
+ @Relationship(deleteRule: .nullify)
var tasks: [Task] = []
init(timestamp: Date) {
@@ -80,6 +80,7 @@ struct Tag : Codable, Identifiable {
final class Task : Codable {
var name: String
var tags: [Tag] = []
var subtasks: [SubTask] = []
var notes: String = ""
var status: Status = Status.Todo
@@ -42,6 +42,11 @@ struct ProjectPanelView: View {
List {
ForEach($item.tasks) { task in
TaskView(task: task)
+ .contextMenu {
+ Button(action: { item.tasks.removeAll(where: { $0.id == task.id }) }) {
+ Label("Delete", systemImage: "trash")
+ }
}
@@ -6,6 +6,7 @@
//
import SwiftUI
+import SwiftData
struct TaskView: View {
@Binding var task: Task
@@ -71,7 +72,12 @@ struct TaskView: View {
ForEach($task.subtasks) { subtask in
SubTaskView(task: subtask)
.padding(.leading, 5)
- }
+ Button(action: { task.subtasks.removeAll(where: { $0.id == subtask.id }) }) {