From 35ee1e1b0abf8d9e636beb1d2022256d12e4198a Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 6 Jul 2015 16:13:41 +0200 Subject: [PATCH] Refactor the 'resize' event handler in viewer.js (issue 6158) *This is the next step towards fixing 6158.* This patch removes the dependency on the state of the scale `` DOM element is now updated by an event handler). --- web/viewer.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/web/viewer.js b/web/viewer.js index 878379e27959b..77bbccff56427 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -1643,13 +1643,16 @@ window.addEventListener('updateviewarea', function (evt) { }, true); window.addEventListener('resize', function webViewerResize(evt) { - if (PDFViewerApplication.initialized && - (document.getElementById('pageAutoOption').selected || - /* Note: the scale is constant for |pageActualOption|. */ - document.getElementById('pageFitOption').selected || - document.getElementById('pageWidthOption').selected)) { - var selectedScale = document.getElementById('scaleSelect').value; - PDFViewerApplication.setScale(selectedScale, false); + if (PDFViewerApplication.initialized) { + var currentScaleValue = PDFViewerApplication.pdfViewer.currentScaleValue; + switch (currentScaleValue) { + case 'auto': + case 'page-fit': + case 'page-width': + // Note: the scale is constant for 'page-actual'. + PDFViewerApplication.pdfViewer.currentScaleValue = currentScaleValue; + break; + } } updateViewarea(); @@ -1707,7 +1710,7 @@ window.addEventListener('change', function webViewerChange(evt) { function selectScaleOption(value) { var options = document.getElementById('scaleSelect').options; var predefinedValueFound = false; - for (var i = 0; i < options.length; i++) { + for (var i = 0, ii = options.length; i < ii; i++) { var option = options[i]; if (option.value !== value) { option.selected = false;