mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-11-01 03:40:09 +00:00
split out the history machinery into urlhistory.js...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
8003ceda29
commit
21f47bfbd1
86
ui/data.js
86
ui/data.js
@ -123,8 +123,6 @@ var SETTINGS = {
|
||||
}
|
||||
|
||||
var BASE_URL = '.'
|
||||
var BASE_URL_HISTORY = []
|
||||
var BASE_URL_LIMIT = 10
|
||||
|
||||
var IMAGE_CACHE = []
|
||||
|
||||
@ -1621,90 +1619,6 @@ function preCacheAllRibbons(){
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* URL history...
|
||||
*/
|
||||
|
||||
function setupBaseURLHistory(){
|
||||
$('.viewer')
|
||||
.on('baseURLChanged', function(evt, old_url, new_url){
|
||||
var updated = false
|
||||
|
||||
// store the old and new urls in history unless they already
|
||||
// exist...
|
||||
if(BASE_URL_HISTORY.indexOf(old_url) < 0){
|
||||
BASE_URL_HISTORY.splice(0, 0, old_url)
|
||||
updated = true
|
||||
}
|
||||
if(BASE_URL_HISTORY.indexOf(new_url) < 0){
|
||||
BASE_URL_HISTORY.splice(0, 0, new_url)
|
||||
updated = true
|
||||
}
|
||||
|
||||
// truncate the history if needed...
|
||||
if(BASE_URL_HISTORY.length > BASE_URL_LIMIT){
|
||||
BASE_URL_HISTORY.splice(BASE_URL_LIMIT, BASE_URL_HISTORY.length)
|
||||
updated = true
|
||||
}
|
||||
|
||||
// XXX is this the right place for this???
|
||||
if(updated){
|
||||
saveLocalStorageBaseURLHistory()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// Push a url to top of history...
|
||||
//
|
||||
// NOTE: this does not care if a url exists or not, all other instances
|
||||
// will get removed...
|
||||
function pushURLHistory(url){
|
||||
url = url == null ? BASE_URL : url
|
||||
|
||||
while(BASE_URL_HISTORY.indexOf(url) >= 0){
|
||||
BASE_URL_HISTORY.splice(BASE_URL_HISTORY.indexOf(url), 1)
|
||||
}
|
||||
|
||||
BASE_URL_HISTORY.splice(0, 0, url)
|
||||
|
||||
// XXX is this the right place for this???
|
||||
saveLocalStorageBaseURLHistory()
|
||||
|
||||
return url
|
||||
}
|
||||
|
||||
|
||||
function getURLHistoryPosition(){
|
||||
return BASE_URL_HISTORY.indexOf(BASE_URL)
|
||||
}
|
||||
function getURLHistoryNext(){
|
||||
var res = BASE_URL_HISTORY[ getURLHistoryPosition() - 1]
|
||||
return res == null ? BASE_URL : res
|
||||
}
|
||||
function getURLHistoryPrev(){
|
||||
var res = BASE_URL_HISTORY[ getURLHistoryPosition() + 1 ]
|
||||
return res == null ? BASE_URL : res
|
||||
}
|
||||
|
||||
|
||||
// NOTE: this will not affect history url order...
|
||||
function makeURLHistoryLoader(get, end_msg){
|
||||
return function(){
|
||||
var url = get()
|
||||
if(url != BASE_URL){
|
||||
statusNotify(loadDir(url))
|
||||
} else {
|
||||
showStatusQ('History: '+ end_msg +'...')
|
||||
}
|
||||
return url
|
||||
}
|
||||
}
|
||||
var loadURLHistoryNext = makeURLHistoryLoader(getURLHistoryNext, 'at last URL')
|
||||
var loadURLHistoryPrev = makeURLHistoryLoader(getURLHistoryPrev, 'at first URL')
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Actions...
|
||||
*/
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
|
||||
<script src="ribbons.js"></script>
|
||||
<script src="data.js"></script>
|
||||
<script src="urlhistory.js"></script>
|
||||
<script src="crop.js"></script>
|
||||
<script src="sort.js"></script>
|
||||
<script src="workers.js"></script>
|
||||
|
||||
120
ui/urlhistory.js
Executable file
120
ui/urlhistory.js
Executable file
@ -0,0 +1,120 @@
|
||||
/**********************************************************************
|
||||
*
|
||||
*
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
var BASE_URL_HISTORY = []
|
||||
var BASE_URL_LIMIT = 10
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* URL history...
|
||||
*/
|
||||
|
||||
// Setup history event handlers...
|
||||
//
|
||||
// NOTE: this will save history state to localStorage...
|
||||
function setupBaseURLHistory(){
|
||||
$('.viewer')
|
||||
.on('baseURLChanged', function(evt, old_url, new_url){
|
||||
var updated = false
|
||||
|
||||
// store the old and new urls in history unless they already
|
||||
// exist...
|
||||
if(BASE_URL_HISTORY.indexOf(old_url) < 0){
|
||||
BASE_URL_HISTORY.splice(0, 0, old_url)
|
||||
updated = true
|
||||
}
|
||||
if(BASE_URL_HISTORY.indexOf(new_url) < 0){
|
||||
BASE_URL_HISTORY.splice(0, 0, new_url)
|
||||
updated = true
|
||||
}
|
||||
|
||||
// truncate the history if needed...
|
||||
if(BASE_URL_HISTORY.length > BASE_URL_LIMIT){
|
||||
BASE_URL_HISTORY.splice(BASE_URL_LIMIT, BASE_URL_HISTORY.length)
|
||||
updated = true
|
||||
}
|
||||
|
||||
// XXX is this the right place for this???
|
||||
if(updated){
|
||||
saveLocalStorageBaseURLHistory()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// Push a url to top of history...
|
||||
//
|
||||
// NOTE: this does not care if a url exists or not, all other instances
|
||||
// will get removed...
|
||||
// NOTE: this will not do any loading...
|
||||
// NOTE: this will save history state to localStorage...
|
||||
function pushURLHistory(url){
|
||||
url = url == null ? BASE_URL : url
|
||||
|
||||
while(BASE_URL_HISTORY.indexOf(url) >= 0){
|
||||
BASE_URL_HISTORY.splice(BASE_URL_HISTORY.indexOf(url), 1)
|
||||
}
|
||||
|
||||
BASE_URL_HISTORY.splice(0, 0, url)
|
||||
|
||||
// XXX is this the right place for this???
|
||||
saveLocalStorageBaseURLHistory()
|
||||
|
||||
return url
|
||||
}
|
||||
|
||||
|
||||
// Get current position in history...
|
||||
//
|
||||
function getURLHistoryPosition(){
|
||||
return BASE_URL_HISTORY.indexOf(BASE_URL)
|
||||
}
|
||||
|
||||
|
||||
// Get next/prev relative position in history...
|
||||
//
|
||||
function getURLHistoryNext(){
|
||||
var res = BASE_URL_HISTORY[ getURLHistoryPosition() - 1]
|
||||
return res == null ? BASE_URL : res
|
||||
}
|
||||
function getURLHistoryPrev(){
|
||||
var res = BASE_URL_HISTORY[ getURLHistoryPosition() + 1 ]
|
||||
return res == null ? BASE_URL : res
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Actions...
|
||||
*/
|
||||
|
||||
// Make a history load action...
|
||||
//
|
||||
// NOTE: this will not affect history url order...
|
||||
function makeURLHistoryLoader(get, end_msg){
|
||||
return function(){
|
||||
var url = get()
|
||||
if(url != BASE_URL){
|
||||
statusNotify(loadDir(url))
|
||||
} else {
|
||||
showStatusQ('History: '+ end_msg +'...')
|
||||
}
|
||||
return url
|
||||
}
|
||||
}
|
||||
var loadURLHistoryNext = makeURLHistoryLoader(getURLHistoryNext, 'at last URL')
|
||||
var loadURLHistoryPrev = makeURLHistoryLoader(getURLHistoryPrev, 'at first URL')
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* vim:set ts=4 sw=4 : */
|
||||
Loading…
x
Reference in New Issue
Block a user