|
@@ -10,9 +10,7 @@ import SwiftData
|
|
|
import SwiftUI
|
|
import SwiftUI
|
|
|
|
|
|
|
|
@Model
|
|
@Model
|
|
|
-final class Project: Codable, Ordered, Aggregate {
|
|
|
|
|
- typealias Element = Task
|
|
|
|
|
-
|
|
|
|
|
|
|
+final class Project: Codable {
|
|
|
var sortOrder: Int = 0
|
|
var sortOrder: Int = 0
|
|
|
var name: String = "New Project"
|
|
var name: String = "New Project"
|
|
|
var category: String = ""
|
|
var category: String = ""
|
|
@@ -24,22 +22,6 @@ final class Project: Codable, Ordered, Aggregate {
|
|
|
self.sortOrder = sortOrder
|
|
self.sortOrder = sortOrder
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- func move(fromOffsets: IndexSet, toOffset: Int) {
|
|
|
|
|
- tasks.move(fromOffsets: fromOffsets, toOffset: toOffset)
|
|
|
|
|
- reindex()
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- func remove(_ item: Element) {
|
|
|
|
|
- tasks.removeAll(where: { $0.id == item.id })
|
|
|
|
|
- reindex()
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- func reindex() {
|
|
|
|
|
- for (index, item) in tasks.enumerated() {
|
|
|
|
|
- item.sortOrder = index
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
func yaml(_ indent: Int = 0) -> String {
|
|
func yaml(_ indent: Int = 0) -> String {
|
|
|
let hdr = String(repeating: " ", count: indent)
|
|
let hdr = String(repeating: " ", count: indent)
|
|
|
var rval = hdr + "\(name):\n"
|
|
var rval = hdr + "\(name):\n"
|