mirror of
https://github.com/flynx/PortableMag.git
synced 2025-12-23 12:01:48 +00:00
some refactoring on the #URL handlers, still not complete...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
f64db62e88
commit
6b36c34c91
8
TODO.otl
8
TODO.otl
@ -1,9 +1,9 @@
|
||||
[_] 39% Priority work
|
||||
[_] 76% general todo
|
||||
[_] 0% Priority work for 10.03.13
|
||||
[_] load/save from JSON
|
||||
[_] add page via template
|
||||
[_] change image
|
||||
[_] add page via template
|
||||
[_] load/save from JSON
|
||||
[_] basic instructions
|
||||
[_] 37% Version 1.0 checklist (migration to layout.html)
|
||||
[X] page scaling for full page view
|
||||
@ -24,8 +24,8 @@
|
||||
[_] issue selection & related navigation
|
||||
| essentially a special magazine that will load other magazines
|
||||
| instead of going into a full page view...
|
||||
[_] 0% #URL rework...
|
||||
[_] make #URLs a configurable framework...
|
||||
[_] 20% #URL rework...
|
||||
[X] make #URLs a configurable framework...
|
||||
| rather than being hard-coded as they are now...
|
||||
[_] make #URLs magazine-specific...
|
||||
[_] BUG: when #URL updates are off layer toggling breaks...
|
||||
|
||||
143
magazine.js
143
magazine.js
@ -874,6 +874,70 @@ function prevBookmark(){
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
URL_HANDLERS = {
|
||||
// basic navigation...
|
||||
home: function(){
|
||||
return 0
|
||||
},
|
||||
end: function(){
|
||||
return $('.page').length-1
|
||||
},
|
||||
|
||||
// relative URLs...
|
||||
next: function(){
|
||||
nextPage()
|
||||
return getPageNumber()
|
||||
},
|
||||
prev: function(){
|
||||
prevPage()
|
||||
return getPageNumber()
|
||||
},
|
||||
nextArticle: function(){
|
||||
nextArticle()
|
||||
return getPageNumber()
|
||||
},
|
||||
prevArticle: function(){
|
||||
prevArticle()
|
||||
return getPageNumber()
|
||||
},
|
||||
nextBookmark: function(){
|
||||
nextBookmark()
|
||||
return getPageNumber()
|
||||
},
|
||||
prevBookmark: function(){
|
||||
prevBookmark()
|
||||
return getPageNumber()
|
||||
},
|
||||
|
||||
// actions...
|
||||
// XXX this scrolls someplace odd...
|
||||
thumbnails: function(){
|
||||
n = getPageNumber()
|
||||
togglePageView('off')
|
||||
return n
|
||||
},
|
||||
bookmark: function(){
|
||||
toggleBookmark()
|
||||
return getPageNumber()
|
||||
},
|
||||
// hide all visible layers on current page...
|
||||
hideLayers: function(){
|
||||
$('.current.page .shown')
|
||||
.addClass('hidden')
|
||||
.removeClass('shown')
|
||||
return getPageNumber()
|
||||
},
|
||||
|
||||
// history...
|
||||
// NOTE: these are handled by hashChangeHandler()
|
||||
back: function(){
|
||||
return 'back'
|
||||
},
|
||||
forward: function(){
|
||||
return anchor
|
||||
},
|
||||
}
|
||||
|
||||
// XXX make URLs magazine-specific...
|
||||
// ...for extrnal linking we'll need the magazine ID, or make each
|
||||
// magazine a seporate path...
|
||||
@ -899,75 +963,24 @@ function loadURLState(){
|
||||
return n
|
||||
}
|
||||
|
||||
// XXX add real external aliases...
|
||||
if(anchor == 'thumbnails') {
|
||||
togglePageView('off')
|
||||
return getPageNumber()
|
||||
if(anchor in URL_HANDLERS){
|
||||
return URL_HANDLERS[anchor]()
|
||||
}
|
||||
|
||||
} else if(anchor == 'home') {
|
||||
return 0
|
||||
|
||||
} else if(anchor == 'end') {
|
||||
return $('.page').length-1
|
||||
|
||||
// history...
|
||||
// NOTE: these are handled by hashChangeHandler()
|
||||
} else if(anchor == 'back') {
|
||||
return anchor
|
||||
} else if(anchor == 'forward') {
|
||||
return anchor
|
||||
|
||||
// relative URLs...
|
||||
} else if(anchor == 'next') {
|
||||
nextPage()
|
||||
return getPageNumber()
|
||||
|
||||
} else if(anchor == 'prev') {
|
||||
prevPage()
|
||||
return getPageNumber()
|
||||
|
||||
} else if(anchor == 'nextArticle') {
|
||||
nextArticle()
|
||||
return getPageNumber()
|
||||
|
||||
} else if(anchor == 'prevArticle') {
|
||||
prevArticle()
|
||||
return getPageNumber()
|
||||
|
||||
} else if(anchor == 'nextBookmark') {
|
||||
nextBookmark()
|
||||
return getPageNumber()
|
||||
|
||||
} else if(anchor == 'prevBookmark') {
|
||||
prevBookmark()
|
||||
return getPageNumber()
|
||||
|
||||
} else if(anchor == 'bookmark'){
|
||||
toggleBookmark()
|
||||
return getPageNumber()
|
||||
|
||||
// hide all visible layers on current page...
|
||||
} else if(anchor == 'hideLayers') {
|
||||
$('.current.page .shown')
|
||||
// show a layer...
|
||||
var elem = $('[name='+anchor+']')
|
||||
n = getPageNumber(elem.parents('.page'))
|
||||
// toggle hidden/shown elements...
|
||||
if(elem.hasClass('hidden')){
|
||||
elem
|
||||
.addClass('shown')
|
||||
.removeClass('hidden')
|
||||
} else if(elem.hasClass('shown')){
|
||||
elem
|
||||
.addClass('hidden')
|
||||
.removeClass('shown')
|
||||
return getPageNumber()
|
||||
|
||||
} else {
|
||||
var elem = $('[name='+anchor+']')
|
||||
n = getPageNumber(elem.parents('.page'))
|
||||
// toggle hidden/shown elements...
|
||||
if(elem.hasClass('hidden')){
|
||||
elem
|
||||
.addClass('shown')
|
||||
.removeClass('hidden')
|
||||
} else if(elem.hasClass('shown')){
|
||||
elem
|
||||
.addClass('hidden')
|
||||
.removeClass('shown')
|
||||
}
|
||||
return n
|
||||
}
|
||||
return n
|
||||
}
|
||||
// save current state to URL...
|
||||
function saveURLState(){
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user