diff --git a/app/src/asset/pdf/app.js b/app/src/asset/pdf/app.js index a15005fee..a73104124 100644 --- a/app/src/asset/pdf/app.js +++ b/app/src/asset/pdf/app.js @@ -79,7 +79,6 @@ import { ViewHistory } from './view_history.js' import { Constants } from '../../constants' import { GenericExternalServices } from './genericcom' import { getPdfInstance, hlPDFRect } from '../anno' -import { getAllModels } from '../../layout/getAll' const DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000 // ms const FORCE_PAGES_LOADED_TIMEOUT = 10000 // ms @@ -1772,7 +1771,6 @@ class PDFViewerApplication { _boundEvents.beforePrint = this.beforePrint.bind(this) _boundEvents.afterPrint = this.afterPrint.bind(this) - eventBus._on('resize', webViewerResize) eventBus._on('hashchange', webViewerHashchange) eventBus._on('beforeprint', _boundEvents.beforePrint) eventBus._on('afterprint', _boundEvents.afterPrint) @@ -1868,7 +1866,6 @@ class PDFViewerApplication { unbindEvents () { const {eventBus, _boundEvents} = this - eventBus._off('resize', webViewerResize) eventBus._off('hashchange', webViewerHashchange) eventBus._off('beforeprint', _boundEvents.beforePrint) eventBus._off('afterprint', _boundEvents.afterPrint) @@ -2357,26 +2354,6 @@ function webViewerSpreadModeChanged (evt) { } } -function webViewerResize () { - getAllModels().asset.find(item => { - const pdfInstance = item.pdfObject - const {pdfDocument, pdfViewer} = pdfInstance - if (!pdfDocument) { - return - } - const currentScaleValue = pdfViewer.currentScaleValue - if ( - currentScaleValue === 'auto' || - currentScaleValue === 'page-fit' || - currentScaleValue === 'page-width' - ) { - // Note: the scale is constant for 'page-actual'. - pdfViewer.currentScaleValue = currentScaleValue - } - pdfViewer.update() - }) -} - function webViewerHashchange (evt) { const hash = evt.hash if (!hash) { diff --git a/app/src/asset/renderAssets.ts b/app/src/asset/renderAssets.ts index 7c1053a82..16f1a45df 100644 --- a/app/src/asset/renderAssets.ts +++ b/app/src/asset/renderAssets.ts @@ -1,5 +1,6 @@ import {Constants} from "../constants"; import {pathPosix} from "../util/pathName"; +import {getAllModels} from "../layout/getAll"; export const renderAssetsPreview = (pathString: string) => { if (!pathString) { @@ -16,3 +17,23 @@ export const renderAssetsPreview = (pathString: string) => { return pathString; } }; + +export const pdfResize = () => { + getAllModels().asset.find(item => { + const pdfInstance = item.pdfObject + const {pdfDocument, pdfViewer} = pdfInstance + if (!pdfDocument) { + return + } + const currentScaleValue = pdfViewer.currentScaleValue + if ( + currentScaleValue === 'auto' || + currentScaleValue === 'page-fit' || + currentScaleValue === 'page-width' + ) { + // Note: the scale is constant for 'page-actual'. + pdfViewer.currentScaleValue = currentScaleValue + } + pdfViewer.update() + }) +} diff --git a/app/src/layout/util.ts b/app/src/layout/util.ts index 81405194b..e66845845 100644 --- a/app/src/layout/util.ts +++ b/app/src/layout/util.ts @@ -25,6 +25,7 @@ import {getContenteditableElement} from "../protyle/wysiwyg/getBlock"; import {Constants} from "../constants"; import {openSearch} from "../search/spread"; import {saveScroll} from "../protyle/scroll/saveScroll"; +import {pdfResize} from "../asset/renderAssets"; export const setPanelFocus = (element: Element) => { if (element.classList.contains("block__icons--active") || element.classList.contains("layout__wnd--active")) { @@ -429,6 +430,7 @@ export const resizeTabs = () => { }, 200); } }); + pdfResize(); }; export const copyTab = (tab: Tab) => {