Detect Changes in Annotations
In addition to controlling annotation changes via our create, update, and delete APIs, we also expose a number of events that can be used to intercept annotation changes that originate in the UI by clicks from the user or that are synced from the server.
Event | Use Case |
---|---|
annotations.load |
Fires whenever annotations are loaded from the document. |
annotations.willChange |
Fires whenever a user action performed via the UI (e.g. drawing) on an annotation occurs. |
annotations.change |
Fires whenever the current annotations change due to a user action (e.g. clicking the UI) or via the API. |
annotations.create |
Fires whenever annotations are created. |
annotations.update |
Fires whenever annotations are updated. |
annotations.delete |
Fires whenever annotations are deleted. |
instance.addEventListener("annotations.load", loadedAnnotations => { console.log(loadedAnnotations); }); instance.addEventListener("annotations.willChange", event => { if (event.reason === PSPDFKit.AnnotationsWillChangeReason.DRAW_START) { console.log("The user is drawing..."); } }); instance.addEventListener("annotations.change", () => { console.log("Something in the annotations has changed."); }); instance.addEventListener("annotations.create", createdAnnotations => { console.log(createdAnnotations); }); instance.addEventListener("annotations.update", updatedAnnotations => { console.log(updatedAnnotations); }); instance.addEventListener("annotations.delete", deletedAnnotations => { console.log(deletedAnnotations); });