Always sort labels when presenting them
This commit is contained in:
@ -12,6 +12,10 @@ import Views
|
||||
@Published var showCreateLabelModal = false
|
||||
@Published var labelSearchFilter = ""
|
||||
|
||||
func setLabels(_ labels: [LinkedItemLabel]) {
|
||||
self.labels = labels.sorted { $0.unwrappedName.trimmingCharacters(in: .whitespaces) < $1.unwrappedName.trimmingCharacters(in: .whitespaces) }
|
||||
}
|
||||
|
||||
func loadLabels(
|
||||
dataService: DataService,
|
||||
item: LinkedItem? = nil,
|
||||
@ -21,7 +25,7 @@ import Views
|
||||
|
||||
if let labelIDs = try? await dataService.labels() {
|
||||
dataService.viewContext.performAndWait {
|
||||
self.labels = labelIDs.compactMap { dataService.viewContext.object(with: $0) as? LinkedItemLabel }
|
||||
setLabels(labelIDs.compactMap { dataService.viewContext.object(with: $0) as? LinkedItemLabel })
|
||||
}
|
||||
let selLabels = initiallySelectedLabels ?? item?.sortedLabels ?? []
|
||||
for label in labels {
|
||||
@ -44,7 +48,7 @@ import Views
|
||||
|
||||
if let labelIDs = try? await dataService.labels() {
|
||||
dataService.viewContext.performAndWait {
|
||||
self.labels = labelIDs.compactMap { dataService.viewContext.object(with: $0) as? LinkedItemLabel }
|
||||
setLabels(labelIDs.compactMap { dataService.viewContext.object(with: $0) as? LinkedItemLabel })
|
||||
}
|
||||
let selLabels = highlight.labels ?? []
|
||||
for label in labels {
|
||||
@ -69,7 +73,7 @@ import Views
|
||||
if fetchedLabels?.count == 0 {
|
||||
await fetchLabelsFromNetwork(dataService: dataService)
|
||||
} else {
|
||||
labels = fetchedLabels ?? []
|
||||
setLabels(fetchedLabels ?? [])
|
||||
unselectedLabels = fetchedLabels ?? []
|
||||
}
|
||||
}
|
||||
@ -82,7 +86,7 @@ import Views
|
||||
labelIDs.compactMap { dataService.viewContext.object(with: $0) as? LinkedItemLabel }
|
||||
}
|
||||
|
||||
labels = fetchedLabels
|
||||
setLabels(fetchedLabels)
|
||||
unselectedLabels = fetchedLabels
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user