feat(client/pdf): add debouncing

This commit is contained in:
Elian Doran 2025-12-29 10:15:15 +02:00
parent c0a90402ef
commit 3e255fa647
No known key found for this signature in database

View File

@ -5,19 +5,30 @@ async function main() {
}
const app = PDFViewerApplication;
await app.initializedPromise;
await app.initializedPromise;
app.eventBus.on("documentloaded", () => {
const storage = app.pdfDocument.annotationStorage;
let timeout = null;
function debouncedSave() {
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(async () => {
console.log("Triggered debounce save");
const data = await app.pdfDocument.saveDocument();
window.parent.postMessage({
type: "pdfjs-viewer-document-modified",
data: data
}, "*");
storage.resetModified();
timeout = null;
}, 2_000);
}
storage.onSetModified = async () => {
console.log("Document modified");
const data = await app.pdfDocument.saveDocument();
window.parent.postMessage({
type: "pdfjs-viewer-document-modified",
data: data
}, "*");
storage.resetModified();
debouncedSave();
};
});
};