diff --git a/packages/pdfjs-viewer/src/custom.ts b/packages/pdfjs-viewer/src/custom.ts index 9defae5264..5c2eaa892d 100644 --- a/packages/pdfjs-viewer/src/custom.ts +++ b/packages/pdfjs-viewer/src/custom.ts @@ -18,6 +18,8 @@ async function main() { interceptPersistence(getCustomAppOptions(urlParams)); } + configurePdfViewerOptions(); + // Wait for the PDF viewer application to be available. while (!window.PDFViewerApplication) { await new Promise(r => setTimeout(r, 50)); @@ -39,6 +41,19 @@ async function main() { await app.initializedPromise; }; +function configurePdfViewerOptions() { + const pdfOptionsHandler = (event: CustomEvent) => { + if (event.detail?.source === window && window.PDFViewerApplicationOptions) { + window.PDFViewerApplicationOptions.set("disablePreferences", true); + window.PDFViewerApplicationOptions.set("enableHighlightFloatingButton", true); + } + }; + if (window.parent && window.parent !== window) { + window.parent.addEventListener("webviewerloaded", pdfOptionsHandler, { once: true }); + window.addEventListener("pagehide", () => window.parent?.removeEventListener("webviewerloaded", pdfOptionsHandler)); + } +} + function hideSidebar() { window.TRILIUM_HIDE_SIDEBAR = true; const toggleButtonEl = document.getElementById("viewsManagerToggleButton"); diff --git a/packages/pdfjs-viewer/src/typings.d.ts b/packages/pdfjs-viewer/src/typings.d.ts index 50ac44fc07..db12b178d0 100644 --- a/packages/pdfjs-viewer/src/typings.d.ts +++ b/packages/pdfjs-viewer/src/typings.d.ts @@ -46,5 +46,6 @@ declare global { }; store: ViewHistory; }; + PDFViewerApplicationOptions?: { set(name: string, value: any): void; } } }