mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Query for new highlights when calling findHighlight for PDFs
This fixes an issue where you could not create a note on a new PDF highlight.
This commit is contained in:
parent
7bece652ae
commit
8b7a59dc3c
3 changed files with 7 additions and 4 deletions
|
|
@ -178,7 +178,7 @@ import Utils
|
|||
if let highlight = annotations?.compactMap({ $0 as? HighlightAnnotation }).first,
|
||||
let customHighlight = highlight.customData?["omnivoreHighlight"] as? [String: String],
|
||||
let highlightID = customHighlight["id"]?.lowercased(),
|
||||
let selectedHighlight = viewModel.findHighlight(highlightID: highlightID)
|
||||
let selectedHighlight = viewModel.findHighlight(dataService: dataService, highlightID: highlightID)
|
||||
{
|
||||
addNoteHighlight = selectedHighlight
|
||||
annotation = selectedHighlight.annotation ?? ""
|
||||
|
|
|
|||
|
|
@ -12,9 +12,11 @@ final class PDFViewerViewModel: ObservableObject {
|
|||
var snackbarMessage: String?
|
||||
|
||||
let pdfItem: PDFItem
|
||||
var highlights: [Highlight]
|
||||
|
||||
init(pdfItem: PDFItem) {
|
||||
self.pdfItem = pdfItem
|
||||
self.highlights = pdfItem.highlights
|
||||
}
|
||||
|
||||
func snackbar(message: String) {
|
||||
|
|
@ -22,8 +24,9 @@ final class PDFViewerViewModel: ObservableObject {
|
|||
showSnackbar = true
|
||||
}
|
||||
|
||||
func findHighlight(highlightID: String) -> Highlight? {
|
||||
pdfItem.highlights.first { $0.id == highlightID }
|
||||
func findHighlight(dataService: DataService, highlightID: String) -> Highlight? {
|
||||
let libraryItem = LibraryItem.lookup(byID: pdfItem.itemID, inContext: dataService.viewContext)
|
||||
return libraryItem?.highlights.asArray(of: Highlight.self).first { $0.id == highlightID }
|
||||
}
|
||||
|
||||
func loadHighlightPatches(completion onComplete: @escaping ([String]) -> Void) {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public struct PDFItem {
|
|||
public let isArchived: Bool
|
||||
public let isRead: Bool
|
||||
public let downloadURL: String
|
||||
public let highlights: [Highlight]
|
||||
public var highlights: [Highlight]
|
||||
|
||||
public static func make(item: LibraryItem) -> PDFItem? {
|
||||
guard item.isPDF else { return nil }
|
||||
|
|
|
|||
Loading…
Reference in a new issue