Skip to content

Commit 8967f5f

Browse files
Fix regression
1 parent 086d754 commit 8967f5f

File tree

2 files changed

+22
-38
lines changed

2 files changed

+22
-38
lines changed

external/pdfjs-2.1.266-dist/web/viewer.js

Lines changed: 9 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pdf-turn/pdf-turn.js

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ var bookFlip = {
1515
toStart: false, //PDFjs require flipbook at start
1616
onLoad: true, //start PDFjs into flipbook mode
1717
_intoView: null,//link handler default function backup
18+
_visPages: null,//visible pages function backup
1819

1920
// event listeners when bookFlip need different handling
2021
init: function(){
2122
$(document).on('rotationchanging', () => {bookFlip.rotate()});
2223
$(document).on('scalechanging', () => {bookFlip.resize()});
2324
$(document).on('pagechanging', () => {bookFlip.flip()});
25+
$(document).on('documentinit', () => {bookFlip.stop()});
2426

2527
$(document).on('scrollmodechanged', () => {
2628
var scroll = PDFViewerApplication.pdfViewer.scrollMode;
@@ -46,20 +48,6 @@ var bookFlip = {
4648
}
4749
});
4850

49-
$(document).on('documentloaded', () => {
50-
bookFlip.stop();
51-
var scrollMode = PDFViewerApplicationOptions.get('scrollModeOnLoad');
52-
if (scrollMode === -1) {
53-
scrollMode = PDFViewerApplication.store.file.scrollMode;
54-
}
55-
if(scrollMode === 3) {
56-
bookFlip.toStart = true;
57-
$('#viewer').css({ opacity: 0 });
58-
PDFViewerApplication.store.file.scrollMode = 0;
59-
if(this.onLoad)PDFViewerApplicationOptions.set('scrollModeOnLoad',-1);
60-
}
61-
});
62-
6351
$(document).on('baseviewerinit', () => {
6452
if(this.onLoad)PDFViewerApplicationOptions.set('scrollModeOnLoad',3);
6553

@@ -108,6 +96,9 @@ var bookFlip = {
10896
this._intoView = PDFViewerApplication.pdfViewer.scrollPageIntoView;
10997
PDFViewerApplication.pdfViewer.scrollPageIntoView = (data) => {return bookFlip.link(data)};
11098

99+
this._visPages = PDFViewerApplication.pdfViewer._getVisiblePages;
100+
PDFViewerApplication.pdfViewer._getVisiblePages = () => {return bookFlip.load()};
101+
111102
$('.spreadModeButtons').removeClass('toggled');
112103
$('#' + selected).addClass('toggled');
113104

@@ -162,11 +153,12 @@ var bookFlip = {
162153
$('#viewer').turn('destroy');
163154
$('#viewer').removeAttr('style');
164155

156+
PDFViewerApplication.pdfViewer.scrollPageIntoView = this._intoView;
157+
PDFViewerApplication.pdfViewer._getVisiblePages = this._visPages;
158+
165159
PDFViewerApplication.eventBus._listeners.switchspreadmode = this._evSpread;
166160
PDFViewerApplication.pdfViewer.spreadMode = this.__spread;
167161

168-
PDFViewerApplication.pdfViewer.scrollPageIntoView = this._intoView;
169-
170162
$('#viewer .page').removeAttr('style');
171163
$('#viewer').removeClass('shadow');
172164
$('#viewer').addClass('pdfViewer');
@@ -213,15 +205,15 @@ var bookFlip = {
213205
PDFViewerApplication.page = data.pageNumber;
214206
},
215207
// load pages near shown page
216-
load: function(views){
208+
load: function(){
217209
if(!this.active)return;
210+
var views = PDFViewerApplication.pdfViewer._pages;
218211
var arr = [];
219212
var page = PDFViewerApplication.page;
220213
var min = Math.max(page - ((this._spread === 0) ? 2 : (page%2) ? 4 : 3), 0);
221-
var pos = Math.max(((this._spread === 0) ? page : page - (page%2)) -1, 0);
222214
var max = Math.min(page + ((this._spread === 0) ? 1 : (page%2) ? 2 : 3), views.length);
223215

224-
for (var i = pos, ii = max; i < ii; i++) {
216+
for (var i = min, ii = max; i < ii; i++) {
225217
arr.push({
226218
id: views[i].id,
227219
x: 0,
@@ -230,18 +222,8 @@ var bookFlip = {
230222
percent: 100
231223
});
232224
}
233-
for (var i = min, ii = pos; i < ii; i++) {
234-
arr.push({
235-
id: views[i].id,
236-
x: 0,
237-
y: 0,
238-
view: views[i],
239-
percent: 100
240-
});
241-
}
242-
if(this._spread !== 0 && (page%2) && page !== 1) [arr[0],arr[1]] = [arr[1],arr[0]]
243-
244-
return arr;
225+
226+
return {first:arr[page - min - 1],last:arr[arr.length-1],views:arr};
245227
},
246228
_spreadType: function(){
247229
return (this._spread === 0) ? 'single' : 'double';

0 commit comments

Comments
 (0)