/ * *
* @ licstart The following is the entire license notice for the
* Javascript code in this page
*
* Copyright 2019 Mozilla Foundation
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an "AS IS" BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
*
* @ licend The above is the entire license notice for the
* Javascript code in this page
* /
"use strict" ;
Object . defineProperty ( exports , "__esModule" , {
value : true
} ) ;
exports . PDFSinglePageViewer = void 0 ;
var _base _viewer = require ( "./base_viewer" ) ;
var _pdf = require ( "../pdf" ) ;
function _typeof ( obj ) { if ( typeof Symbol === "function" && typeof Symbol . iterator === "symbol" ) { _typeof = function _typeof ( obj ) { return typeof obj ; } ; } else { _typeof = function _typeof ( obj ) { return obj && typeof Symbol === "function" && obj . constructor === Symbol && obj !== Symbol . prototype ? "symbol" : typeof obj ; } ; } return _typeof ( obj ) ; }
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( "Cannot call a class as a function" ) ; } }
function _defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( "value" in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } }
function _createClass ( Constructor , protoProps , staticProps ) { if ( protoProps ) _defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) _defineProperties ( Constructor , staticProps ) ; return Constructor ; }
function _possibleConstructorReturn ( self , call ) { if ( call && ( _typeof ( call ) === "object" || typeof call === "function" ) ) { return call ; } return _assertThisInitialized ( self ) ; }
function _assertThisInitialized ( self ) { if ( self === void 0 ) { throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; } return self ; }
function _get ( target , property , receiver ) { if ( typeof Reflect !== "undefined" && Reflect . get ) { _get = Reflect . get ; } else { _get = function _get ( target , property , receiver ) { var base = _superPropBase ( target , property ) ; if ( ! base ) return ; var desc = Object . getOwnPropertyDescriptor ( base , property ) ; if ( desc . get ) { return desc . get . call ( receiver ) ; } return desc . value ; } ; } return _get ( target , property , receiver || target ) ; }
function _superPropBase ( object , property ) { while ( ! Object . prototype . hasOwnProperty . call ( object , property ) ) { object = _getPrototypeOf ( object ) ; if ( object === null ) break ; } return object ; }
function _getPrototypeOf ( o ) { _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf : function _getPrototypeOf ( o ) { return o . _ _proto _ _ || Object . getPrototypeOf ( o ) ; } ; return _getPrototypeOf ( o ) ; }
function _inherits ( subClass , superClass ) { if ( typeof superClass !== "function" && superClass !== null ) { throw new TypeError ( "Super expression must either be null or a function" ) ; } subClass . prototype = Object . create ( superClass && superClass . prototype , { constructor : { value : subClass , writable : true , configurable : true } } ) ; if ( superClass ) _setPrototypeOf ( subClass , superClass ) ; }
function _setPrototypeOf ( o , p ) { _setPrototypeOf = Object . setPrototypeOf || function _setPrototypeOf ( o , p ) { o . _ _proto _ _ = p ; return o ; } ; return _setPrototypeOf ( o , p ) ; }
var PDFSinglePageViewer =
/*#__PURE__*/
function ( _BaseViewer ) {
_inherits ( PDFSinglePageViewer , _BaseViewer ) ;
function PDFSinglePageViewer ( options ) {
var _this ;
_classCallCheck ( this , PDFSinglePageViewer ) ;
_this = _possibleConstructorReturn ( this , _getPrototypeOf ( PDFSinglePageViewer ) . call ( this , options ) ) ;
_this . eventBus . on ( 'pagesinit' , function ( evt ) {
_this . _ensurePageViewVisible ( ) ;
} ) ;
return _this ;
}
_createClass ( PDFSinglePageViewer , [ {
key : "_resetView" ,
value : function _resetView ( ) {
_get ( _getPrototypeOf ( PDFSinglePageViewer . prototype ) , "_resetView" , this ) . call ( this ) ;
this . _previousPageNumber = 1 ;
this . _shadowViewer = document . createDocumentFragment ( ) ;
this . _updateScrollDown = null ;
}
} , {
key : "_ensurePageViewVisible" ,
value : function _ensurePageViewVisible ( ) {
var pageView = this . _pages [ this . _currentPageNumber - 1 ] ;
var previousPageView = this . _pages [ this . _previousPageNumber - 1 ] ;
var viewerNodes = this . viewer . childNodes ;
switch ( viewerNodes . length ) {
case 0 :
this . viewer . appendChild ( pageView . div ) ;
break ;
case 1 :
if ( viewerNodes [ 0 ] !== previousPageView . div ) {
throw new Error ( '_ensurePageViewVisible: Unexpected previously visible page.' ) ;
}
if ( pageView === previousPageView ) {
break ;
}
this . _shadowViewer . appendChild ( previousPageView . div ) ;
this . viewer . appendChild ( pageView . div ) ;
this . container . scrollTop = 0 ;
break ;
default :
throw new Error ( '_ensurePageViewVisible: Only one page should be visible at a time.' ) ;
}
this . _previousPageNumber = this . _currentPageNumber ;
}
} , {
key : "_scrollUpdate" ,
value : function _scrollUpdate ( ) {
if ( this . _updateScrollDown ) {
this . _updateScrollDown ( ) ;
}
_get ( _getPrototypeOf ( PDFSinglePageViewer . prototype ) , "_scrollUpdate" , this ) . call ( this ) ;
}
} , {
key : "_scrollIntoView" ,
value : function _scrollIntoView ( _ref ) {
var _this2 = this ;
var pageDiv = _ref . pageDiv ,
_ref$pageSpot = _ref . pageSpot ,
pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot ,
_ref$pageNumber = _ref . pageNumber ,
pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber ;
if ( pageNumber ) {
this . _setCurrentPageNumber ( pageNumber ) ;
}
var scrolledDown = this . _currentPageNumber >= this . _previousPageNumber ;
this . _ensurePageViewVisible ( ) ;
this . update ( ) ;
_get ( _getPrototypeOf ( PDFSinglePageViewer . prototype ) , "_scrollIntoView" , this ) . call ( this , {
pageDiv : pageDiv ,
pageSpot : pageSpot ,
pageNumber : pageNumber
} ) ;
this . _updateScrollDown = function ( ) {
_this2 . scroll . down = scrolledDown ;
_this2 . _updateScrollDown = null ;
} ;
}
} , {
key : "_getVisiblePages" ,
value : function _getVisiblePages ( ) {
return this . _getCurrentVisiblePage ( ) ;
}
} , {
key : "_updateHelper" ,
value : function _updateHelper ( visiblePages ) { }
} , {
key : "_updateScrollMode" ,
value : function _updateScrollMode ( ) { }
} , {
key : "_updateSpreadMode" ,
value : function _updateSpreadMode ( ) { }
} , {
key : "_setDocumentViewerElement" ,
get : function get ( ) {
return ( 0 , _pdf . shadow ) ( this , '_setDocumentViewerElement' , this . _shadowViewer ) ;
}
} , {
key : "_isScrollModeHorizontal" ,
get : function get ( ) {
return ( 0 , _pdf . shadow ) ( this , '_isScrollModeHorizontal' , false ) ;
}
} ] ) ;
return PDFSinglePageViewer ;
} ( _base _viewer . BaseViewer ) ;
exports . PDFSinglePageViewer = PDFSinglePageViewer ;