mirror of
https://github.com/flynx/PortableMag.git
synced 2025-10-29 11:10:08 +00:00
some minor refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
025aafc177
commit
24272ae701
44
layout.js
44
layout.js
@ -5,7 +5,7 @@
|
|||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
//var NAVIGATE_RELATIVE_TO_VISIBLE = false
|
//var NAVIGATE_RELATIVE_TO_VISIBLE = false
|
||||||
var NAVIGATE_RELATIVE_TO_VISIBLE = true
|
//var NAVIGATE_RELATIVE_TO_VISIBLE = true
|
||||||
|
|
||||||
var USE_PAGE_ALIGN = true
|
var USE_PAGE_ALIGN = true
|
||||||
|
|
||||||
@ -78,6 +78,8 @@ var togglePageView = createCSSClassToggler(
|
|||||||
|
|
||||||
/************************************************** event handlers ***/
|
/************************************************** event handlers ***/
|
||||||
|
|
||||||
|
// XXX make this more universal...
|
||||||
|
// XXX should we use a callback or an event???
|
||||||
function makeScrollHandler(root, callback){
|
function makeScrollHandler(root, callback){
|
||||||
|
|
||||||
// local data...
|
// local data...
|
||||||
@ -113,6 +115,7 @@ function makeScrollHandler(root, callback){
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
// XXX add limits to this...
|
// XXX add limits to this...
|
||||||
|
// XXX slow down drag when at limit...
|
||||||
// XXX try and make this adaptive to stay ahead of the lags...
|
// XXX try and make this adaptive to stay ahead of the lags...
|
||||||
function moveHandler(evt){
|
function moveHandler(evt){
|
||||||
evt.preventDefault()
|
evt.preventDefault()
|
||||||
@ -185,6 +188,9 @@ function makeScrollHandler(root, callback){
|
|||||||
}
|
}
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
setCallback: function(func){
|
||||||
|
this.callback = func
|
||||||
|
},
|
||||||
// NOTE: this is updated live but not used by the system in any way...
|
// NOTE: this is updated live but not used by the system in any way...
|
||||||
state: 'stopped'
|
state: 'stopped'
|
||||||
}
|
}
|
||||||
@ -195,6 +201,13 @@ function makeScrollHandler(root, callback){
|
|||||||
|
|
||||||
/********************************************************* helpers ***/
|
/********************************************************* helpers ***/
|
||||||
|
|
||||||
|
// XXX make this more acurate...
|
||||||
|
// ...should check mode or if we are in a ribbon...
|
||||||
|
function isNavigationViewRelative(){
|
||||||
|
return getMagazineScale() < 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// XXX there is something here that depends on scale that is either not
|
// XXX there is something here that depends on scale that is either not
|
||||||
// compensated, or is over compensated...
|
// compensated, or is over compensated...
|
||||||
function getMagazineOffset(page, scale, align){
|
function getMagazineOffset(page, scale, align){
|
||||||
@ -231,22 +244,23 @@ function getMagazineOffset(page, scale, align){
|
|||||||
|
|
||||||
// XXX make this work for narrow and left/right alligned pages...
|
// XXX make this work for narrow and left/right alligned pages...
|
||||||
function getPageNumber(page){
|
function getPageNumber(page){
|
||||||
// a page is given...
|
// a page is given explicitly, get the next one...
|
||||||
if(page != null){
|
if(page != null){
|
||||||
return $('.page').index($(page))
|
return $('.page').index($(page))
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the next page...
|
// get the next page relative to the current...
|
||||||
if(!NAVIGATE_RELATIVE_TO_VISIBLE){
|
//if(!NAVIGATE_RELATIVE_TO_VISIBLE){
|
||||||
|
if(!isNavigationViewRelative()){
|
||||||
return $('.page').index($('.current.page'))
|
return $('.page').index($('.current.page'))
|
||||||
|
|
||||||
// get the closest page to view...
|
// get the closest page to view center...
|
||||||
|
// NOTE: this ignores page aligns and only gets the page who's center
|
||||||
|
// is closer to view's center
|
||||||
} else {
|
} else {
|
||||||
// XXX this gets crazy when magazine is scaled...
|
var scale = getMagazineScale()
|
||||||
//var s = $('.viewer').scrollLeft()
|
|
||||||
var o = -$($('.magazine')[0]).offset().left - $('.viewer').offset().left
|
var o = -$($('.magazine')[0]).offset().left - $('.viewer').offset().left
|
||||||
var W = $('.viewer').width()
|
var W = $('.viewer').width()
|
||||||
var scale = getMagazineScale()
|
|
||||||
var cur = -1
|
var cur = -1
|
||||||
var res = $('.page').map(function(i, e){
|
var res = $('.page').map(function(i, e){
|
||||||
e = $(e)
|
e = $(e)
|
||||||
@ -267,9 +281,15 @@ function setMagazineScale(scale){
|
|||||||
var mag = $('.magazine')
|
var mag = $('.magazine')
|
||||||
var cur = $('.current.page')
|
var cur = $('.current.page')
|
||||||
|
|
||||||
var left = getMagazineOffset(cur, scale, 'center')
|
// XXX make this check more unversal...
|
||||||
|
// center-align ribbon view pages...
|
||||||
|
var align = scale < 1 ? 'center' : null
|
||||||
|
|
||||||
|
var left = getMagazineOffset(cur, scale, align)
|
||||||
|
|
||||||
setElementTransform(mag, left, scale)
|
setElementTransform(mag, left, scale)
|
||||||
|
|
||||||
|
return mag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -291,7 +311,11 @@ function setCurrentPage(n){
|
|||||||
|
|
||||||
var cur = $('.current.page')
|
var cur = $('.current.page')
|
||||||
|
|
||||||
var left = getMagazineOffset(cur)
|
// XXX make this check more unversal...
|
||||||
|
// center-align pages in ribbon view...
|
||||||
|
var align = scale < 1 ? 'center' : null
|
||||||
|
|
||||||
|
var left = getMagazineOffset(cur, null, align)
|
||||||
|
|
||||||
setElementTransform($('.magazine'), left, scale)
|
setElementTransform($('.magazine'), left, scale)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user