|
|
@@ -39,11 +39,7 @@ struct TaskView: View {
|
|
|
|
|
|
TextField("Task Name", text: $task.name)
|
|
|
.focused($isFocused)
|
|
|
- Button() {
|
|
|
- let newSubtask = SubTask(name: "Subtask")
|
|
|
- modelContext.insert(newSubtask)
|
|
|
- task.subtasks.append(newSubtask)
|
|
|
- } label: {
|
|
|
+ Button(action: addItem) {
|
|
|
Image(systemName: "plus")
|
|
|
.help("Add a Subtask")
|
|
|
}
|
|
|
@@ -76,7 +72,9 @@ struct TaskView: View {
|
|
|
SubTaskView(task: subtask)
|
|
|
.padding(.leading, 5)
|
|
|
.contextMenu {
|
|
|
- Button(action: { task.subtasks.removeAll(where: { $0.id == subtask.id }) }) {
|
|
|
+ Button(action: {
|
|
|
+ deleteItem(item: subtask.wrappedValue, fromTask: task)
|
|
|
+ }) {
|
|
|
Label("Delete", systemImage: "trash")
|
|
|
}
|
|
|
}
|
|
|
@@ -84,6 +82,21 @@ struct TaskView: View {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private func addItem() {
|
|
|
+ withAnimation {
|
|
|
+ let newSubtask = SubTask(name: "Subtask")
|
|
|
+ modelContext.insert(newSubtask)
|
|
|
+ task.subtasks.append(newSubtask)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private func deleteItem(item: SubTask, fromTask: Task) {
|
|
|
+ withAnimation {
|
|
|
+ fromTask.subtasks.removeAll(where: { $0.id == item.id })
|
|
|
+ modelContext.delete(item)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
#Preview {
|