Merge pull request #10190 from Snuffleupagus/_getCurrentVisiblePage
Add a helper method for `_getVisiblePages`, in `BaseViewer`, for the case where only a single page is displayed in the viewer
This commit is contained in:
commit
42b7bb4751
@ -855,6 +855,30 @@ class BaseViewer {
|
||||
false : (this.container.scrollHeight > this.container.clientHeight));
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method for `this._getVisiblePages`. Should only ever be used when
|
||||
* the viewer can only display a single page at a time, for example in:
|
||||
* - `PDFSinglePageViewer`.
|
||||
* - `PDFViewer` with Presentation Mode active.
|
||||
*/
|
||||
_getCurrentVisiblePage() {
|
||||
if (!this.pagesCount) {
|
||||
return { views: [], };
|
||||
}
|
||||
const pageView = this._pages[this._currentPageNumber - 1];
|
||||
// NOTE: Compute the `x` and `y` properties of the current view,
|
||||
// since `this._updateLocation` depends of them being available.
|
||||
const element = pageView.div;
|
||||
|
||||
const view = {
|
||||
id: pageView.id,
|
||||
x: element.offsetLeft + element.clientLeft,
|
||||
y: element.offsetTop + element.clientTop,
|
||||
view: pageView,
|
||||
};
|
||||
return { first: view, last: view, views: [view], };
|
||||
}
|
||||
|
||||
_getVisiblePages() {
|
||||
throw new Error('Not implemented: _getVisiblePages');
|
||||
}
|
||||
|
@ -108,21 +108,7 @@ class PDFSinglePageViewer extends BaseViewer {
|
||||
}
|
||||
|
||||
_getVisiblePages() {
|
||||
if (!this.pagesCount) {
|
||||
return { views: [], };
|
||||
}
|
||||
let pageView = this._pages[this._currentPageNumber - 1];
|
||||
// NOTE: Compute the `x` and `y` properties of the current view,
|
||||
// since `this._updateLocation` depends of them being available.
|
||||
let element = pageView.div;
|
||||
|
||||
let view = {
|
||||
id: pageView.id,
|
||||
x: element.offsetLeft + element.clientLeft,
|
||||
y: element.offsetTop + element.clientTop,
|
||||
view: pageView,
|
||||
};
|
||||
return { first: view, last: view, views: [view], };
|
||||
return this._getCurrentVisiblePage();
|
||||
}
|
||||
|
||||
update() {
|
||||
|
@ -40,11 +40,9 @@ class PDFViewer extends BaseViewer {
|
||||
return getVisibleElements(this.container, this._pages, true,
|
||||
this._scrollMode === ScrollMode.HORIZONTAL);
|
||||
}
|
||||
// The algorithm in getVisibleElements doesn't work in all browsers and
|
||||
// The algorithm in `getVisibleElements` doesn't work in all browsers and
|
||||
// configurations when presentation mode is active.
|
||||
let currentPage = this._pages[this._currentPageNumber - 1];
|
||||
let visible = [{ id: currentPage.id, view: currentPage, }];
|
||||
return { first: currentPage, last: currentPage, views: visible, };
|
||||
return this._getCurrentVisiblePage();
|
||||
}
|
||||
|
||||
update() {
|
||||
|
Loading…
Reference in New Issue
Block a user