import Joyfill
import JoyfillModel
final class ChangeHandler: FormChangeEvent {
func onChange(changes: [Joyfill.Change], document: JoyfillModel.JoyDoc) {
// Persist, sync, or react to changes
if let firstChange = changes.first {
print(">>>>>>>>onChange", firstChange.change ?? "")
}
}
func onFocus(event: Joyfill.Event) {
if let field = event.fieldEvent {
// Field focused (e.g. field.fieldID)
} else if event.pageEvent != nil {
// Page focused (event.pageEvent?.type == "page.focus")
}
}
func onBlur(event: Joyfill.Event) {
if let field = event.fieldEvent {
// Field blurred
} else if event.pageEvent != nil {
// Page blurred
}
}
func onUpload(event: Joyfill.UploadEvent) {
// File(s) uploaded/removed
}
func onCapture(event: Joyfill.CaptureEvent) {
// Media captured (e.g., camera)
}
func onError(error: Joyfill.JoyfillError) {
// Schema validation/version or runtime errors
}
}