@@ -102,6 +102,13 @@ export function scale(id, scale) {
102102 }
103103}
104104
105+ export function setPages ( id , enableTowPagesOnView ) {
106+ const { el, pdfViewer } = Data . get ( id ) ;
107+ if ( pdfViewer ) {
108+ pdfViewer . spreadMode = 1 ;
109+ }
110+ }
111+
105112const addEventListener = ( el , pdfViewer , eventBus , invoke , options ) => {
106113 eventBus . on ( "pagesinit" , async ( ) => {
107114 if ( options . isFitToPage ) {
@@ -149,6 +156,18 @@ const addEventListener = (el, pdfViewer, eventBus, invoke, options) => {
149156
150157 EventHandler . on ( minus , "click" , e => updateScale ( pdfViewer , e . target , - 1 ) ) ;
151158 EventHandler . on ( plus , "click" , e => updateScale ( pdfViewer , e . target , 1 ) ) ;
159+
160+ const towPagesOneView = el . querySelector ( ".dropdown-item-pages" ) ;
161+ if ( towPagesOneView ) {
162+ EventHandler . on ( towPagesOneView , "click" , e => {
163+ if ( pdfViewer . spreadMode === 0 ) {
164+ pdfViewer . spreadMode = 1 ;
165+ }
166+ else {
167+ pdfViewer . spreadMode = 0 ;
168+ }
169+ } ) ;
170+ }
152171}
153172
154173const updateScale = ( pdfViewer , button , rate ) => {
@@ -159,7 +178,7 @@ const updateScale = (pdfViewer, button, rate) => {
159178 const scale = pdfViewer . currentScale ;
160179 const current = Math . round ( parseFloat ( scale * 100 ) , 0 ) ;
161180 const step = [ 25 , 33 , 50 , 67 , 75 , 80 , 90 , 100 , 110 , 125 , 150 , 175 , 200 , 250 , 300 , 400 , 500 ] ;
162- const findValues = step . filter ( s => rate > 0 ? current < s : current > s ) ;
181+ const findValues = step . filter ( s => rate > 0 ? current < s : current > s ) ;
163182 let v = 100 ;
164183 if ( rate > 0 ) {
165184 v = findValues . shift ( ) ;
@@ -177,7 +196,16 @@ export function dispose(id) {
177196 if ( el ) {
178197 const minus = el . querySelector ( ".bb-page-minus" ) ;
179198 const plus = el . querySelector ( ".bb-page-plus" ) ;
180- EventHandler . off ( minus , "click" ) ;
181- EventHandler . off ( plus , "click" ) ;
199+ if ( minus ) {
200+ EventHandler . off ( minus , "click" ) ;
201+ }
202+ if ( plus ) {
203+ EventHandler . off ( plus , "click" ) ;
204+ }
205+
206+ const towPagesOneView = el . querySelector ( ".dropdown-item-pages" ) ;
207+ if ( towPagesOneView ) {
208+ EventHandler . off ( towPagesOneView , "click" ) ;
209+ }
182210 }
183211}
0 commit comments