mirror of
https://github.com/flynx/PortableMag.git
synced 2025-11-02 21:10:11 +00:00
added the full/ribbon mode toggle to layout.html...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
eed633a02a
commit
f9c9196c86
73
layout.js
73
layout.js
@ -8,27 +8,70 @@ var NAVIGATE_RELATIVE_TO_VISIBLE = false
|
|||||||
|
|
||||||
var USE_PAGE_ALIGN = true
|
var USE_PAGE_ALIGN = true
|
||||||
|
|
||||||
|
var PAGES_IN_RIBBON = 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************************** layout ***/
|
/********************************************************** layout ***/
|
||||||
|
|
||||||
var togglePageFitMode = createCSSClassToggler(
|
var togglePageFitMode = createCSSClassToggler(
|
||||||
'.viewer',
|
'.viewer',
|
||||||
'.page-fit-to-viewer',
|
'.page-fit-to-viewer',
|
||||||
function(action){
|
function(action){
|
||||||
if(action == 'on'){
|
if(action == 'on'){
|
||||||
console.log('fitting pages to view...')
|
console.log('fitting pages to view...')
|
||||||
var n = getPageNumber()
|
var n = getPageNumber()
|
||||||
var scale = getMagazineScale()
|
var scale = getMagazineScale()
|
||||||
$('.page:not(.no-resize)').width($('.viewer').width()/scale)
|
$('.page:not(.no-resize)').width($('.viewer').width()/scale)
|
||||||
|
} else {
|
||||||
|
console.log('restoring page sizes...')
|
||||||
|
var n = getPageNumber()
|
||||||
|
$('.page:not(.no-resize)').width('')
|
||||||
|
}
|
||||||
setCurrentPage(n)
|
setCurrentPage(n)
|
||||||
} else {
|
})
|
||||||
console.log('restoring page sizes...')
|
|
||||||
var n = getPageNumber()
|
|
||||||
$('.page:not(.no-resize)').width('')
|
var togglePageView = createCSSClassToggler(
|
||||||
setCurrentPage(n)
|
'.viewer',
|
||||||
}
|
'.full-page-view-mode',
|
||||||
})
|
// XXX make this support transitions...
|
||||||
|
function(action){
|
||||||
|
var view = $('.viewer')
|
||||||
|
var page = $('.page')
|
||||||
|
|
||||||
|
if(action == 'on'){
|
||||||
|
var W = view.width()
|
||||||
|
var H = view.height()
|
||||||
|
var w = page.width()
|
||||||
|
var h = page.height()
|
||||||
|
|
||||||
|
// XXX this is not correct...
|
||||||
|
// ...need to fit one rectangel (page) into another (viewer)
|
||||||
|
if(W >= H){
|
||||||
|
// fit to width...
|
||||||
|
var scale = W/w
|
||||||
|
} else {
|
||||||
|
// fit to height...
|
||||||
|
var scale = H/h
|
||||||
|
}
|
||||||
|
setMagazineScale(scale)
|
||||||
|
unanimated($('.magazine, .viewer'), togglePageFitMode)('on')
|
||||||
|
} else {
|
||||||
|
unanimated($('.magazine, .viewer'), togglePageFitMode)('off')
|
||||||
|
|
||||||
|
var W = view.width()
|
||||||
|
var H = view.height()
|
||||||
|
var w = page.width()
|
||||||
|
var h = page.height()
|
||||||
|
|
||||||
|
scale = W/(w*PAGES_IN_RIBBON)
|
||||||
|
setMagazineScale(scale)
|
||||||
|
}
|
||||||
|
// NOTE: can't disable transitions on this one because ScrollTo
|
||||||
|
// uses jQuery animation...
|
||||||
|
setCurrentPage()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user