Improve content saving, label editing
This commit is contained in:
27
CHDataManagement/Model/Item/ChangeObservingItem.swift
Normal file
27
CHDataManagement/Model/Item/ChangeObservingItem.swift
Normal file
@ -0,0 +1,27 @@
|
||||
import Foundation
|
||||
import Combine
|
||||
|
||||
class ChangeObservingItem: ObservableContentItem {
|
||||
|
||||
unowned let content: Content
|
||||
|
||||
/// A dummy property to force views to update when properties change
|
||||
@Published
|
||||
private var changeToggle = false
|
||||
|
||||
var cancellables = Set<AnyCancellable>()
|
||||
|
||||
init(content: Content) {
|
||||
self.content = content
|
||||
|
||||
observeChanges()
|
||||
}
|
||||
|
||||
// MARK: Change observation
|
||||
|
||||
func didChange() {
|
||||
DispatchQueue.main.async {
|
||||
self.changeToggle.toggle()
|
||||
}
|
||||
}
|
||||
}
|
@ -1,9 +1,7 @@
|
||||
import Foundation
|
||||
import Combine
|
||||
|
||||
class Item: ObservableContentItem, Identifiable {
|
||||
|
||||
unowned let content: Content
|
||||
class Item: ChangeObservingItem, Identifiable {
|
||||
|
||||
/// A dummy property to force views to update when properties change
|
||||
@Published
|
||||
@ -12,23 +10,13 @@ class Item: ObservableContentItem, Identifiable {
|
||||
@Published
|
||||
var id: String
|
||||
|
||||
var cancellables = Set<AnyCancellable>()
|
||||
|
||||
init(content: Content, id: String) {
|
||||
self.content = content
|
||||
self.id = id
|
||||
super.init(content: content)
|
||||
|
||||
observeChanges()
|
||||
}
|
||||
|
||||
// MARK: Change observation
|
||||
|
||||
func didChange() {
|
||||
DispatchQueue.main.async {
|
||||
self.changeToggle.toggle()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Paths
|
||||
|
||||
func makeCleanAbsolutePath(_ path: String) -> String {
|
||||
|
Reference in New Issue
Block a user