mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-12-20 10:11:40 +00:00
added base-path saving to url history feature + some tweaking...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
ecc79477bd
commit
86a77e5937
@ -272,9 +272,9 @@ $(function(){
|
|||||||
.setEmptyMsg('Loading...')
|
.setEmptyMsg('Loading...')
|
||||||
|
|
||||||
|
|
||||||
// load last url in history...
|
// load last loaded path...
|
||||||
if(a.url_history && Object.keys(a.url_history).length > 0){
|
if(a.url_history && Object.keys(a.url_history).length > 0){
|
||||||
a.openURLFromHistory(0)
|
a.loadLastSavedBasePath()
|
||||||
|
|
||||||
// load some testing data...
|
// load some testing data...
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -277,6 +277,8 @@ actions.Actions({
|
|||||||
}],
|
}],
|
||||||
|
|
||||||
// XXX should this be here???
|
// XXX should this be here???
|
||||||
|
// XXX should this use .load(..)
|
||||||
|
// ...note if we use this it breaks, need to rethink...
|
||||||
loadURLs: ['File/Load a URL list',
|
loadURLs: ['File/Load a URL list',
|
||||||
function(lst, base){
|
function(lst, base){
|
||||||
this.clear()
|
this.clear()
|
||||||
@ -3607,12 +3609,23 @@ var FileSystemLoaderActions = actions.Actions({
|
|||||||
|
|
||||||
var that = this
|
var that = this
|
||||||
|
|
||||||
|
// NOTE: we set this before we start the load so as to let
|
||||||
|
// clients know what we are loading and not force them
|
||||||
|
// to wait to find out...
|
||||||
|
// XXX not sure if this is the way to go...
|
||||||
|
this._base_path = path
|
||||||
|
|
||||||
glob(path + '/*+(jpg|jpeg|png|JPG|JPEG|PNG)')
|
glob(path + '/*+(jpg|jpeg|png|JPG|JPEG|PNG)')
|
||||||
|
.on('error', function(err){
|
||||||
|
console.log('!!!!', err)
|
||||||
|
})
|
||||||
.on('end', function(lst){
|
.on('end', function(lst){
|
||||||
that.loadURLs(lst
|
that.loadURLs(lst
|
||||||
.map(function(p){ return normalizePath(p) }), path)
|
.map(function(p){ return normalizePath(p) }), path)
|
||||||
|
|
||||||
// XXX not sure if this is the way to go...
|
// NOTE: we set it again because .loadURLs() does a clear
|
||||||
|
// before it starts loading...
|
||||||
|
// XXX is this a bug???
|
||||||
that._base_path = path
|
that._base_path = path
|
||||||
})
|
})
|
||||||
}],
|
}],
|
||||||
@ -3696,9 +3709,6 @@ var FileSystemLoaderActions = actions.Actions({
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
// XXX add load history to this...
|
|
||||||
// ...might be good to add a generic history feature and use that...
|
|
||||||
// XXX is this a good name???
|
|
||||||
var FileSystemLoader =
|
var FileSystemLoader =
|
||||||
module.FileSystemLoader = ImageGridFeatures.Feature({
|
module.FileSystemLoader = ImageGridFeatures.Feature({
|
||||||
title: '',
|
title: '',
|
||||||
@ -3888,7 +3898,7 @@ var URLHistoryActions = actions.Actions({
|
|||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
|
|
||||||
setTopURLHistory: ['',
|
setTopURLHistory: ['History/',
|
||||||
function(url){
|
function(url){
|
||||||
var data = this.url_history[url]
|
var data = this.url_history[url]
|
||||||
|
|
||||||
@ -3899,7 +3909,7 @@ var URLHistoryActions = actions.Actions({
|
|||||||
delete this.url_history[url]
|
delete this.url_history[url]
|
||||||
this.url_history[url] = data
|
this.url_history[url] = data
|
||||||
}],
|
}],
|
||||||
pushURLToHistory: ['',
|
pushURLToHistory: ['History/',
|
||||||
function(url, open, check){
|
function(url, open, check){
|
||||||
var l = this.config['url-history-length'] || -1
|
var l = this.config['url-history-length'] || -1
|
||||||
|
|
||||||
@ -3932,7 +3942,7 @@ var URLHistoryActions = actions.Actions({
|
|||||||
}],
|
}],
|
||||||
// NOTE: url can be an index, 0 being the last url added to history;
|
// NOTE: url can be an index, 0 being the last url added to history;
|
||||||
// negative values are also supported.
|
// negative values are also supported.
|
||||||
dropURLFromHistory: ['',
|
dropURLFromHistory: ['History/',
|
||||||
function(url){
|
function(url){
|
||||||
this.url_history = this.url_history || {}
|
this.url_history = this.url_history || {}
|
||||||
|
|
||||||
@ -3944,7 +3954,7 @@ var URLHistoryActions = actions.Actions({
|
|||||||
delete this.url_history[url]
|
delete this.url_history[url]
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
checkURLFromHistory: ['',
|
checkURLFromHistory: ['History/',
|
||||||
function(url){
|
function(url){
|
||||||
this.url_history = this.url_history || {}
|
this.url_history = this.url_history || {}
|
||||||
|
|
||||||
@ -3968,7 +3978,7 @@ var URLHistoryActions = actions.Actions({
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
openURLFromHistory: ['',
|
openURLFromHistory: ['History/',
|
||||||
function(url){
|
function(url){
|
||||||
this.url_history = this.url_history || {}
|
this.url_history = this.url_history || {}
|
||||||
|
|
||||||
@ -3987,7 +3997,7 @@ var URLHistoryActions = actions.Actions({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
clearURLHistory: ['',
|
clearURLHistory: ['History/',
|
||||||
function(){ this.url_history = null }],
|
function(){ this.url_history = null }],
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -4008,6 +4018,7 @@ module.URLHistory = ImageGridFeatures.Feature({
|
|||||||
var URLHistoryLocalStorageActions = actions.Actions({
|
var URLHistoryLocalStorageActions = actions.Actions({
|
||||||
config: {
|
config: {
|
||||||
'url-history-local-storage-key': 'url-history',
|
'url-history-local-storage-key': 'url-history',
|
||||||
|
'url-history-loaded-local-storage-key': 'url-history-loaded',
|
||||||
},
|
},
|
||||||
|
|
||||||
__url_history: null,
|
__url_history: null,
|
||||||
@ -4026,7 +4037,12 @@ var URLHistoryLocalStorageActions = actions.Actions({
|
|||||||
if(this.config && key){
|
if(this.config && key){
|
||||||
var history = localStorage[key]
|
var history = localStorage[key]
|
||||||
if(history){
|
if(history){
|
||||||
this.__url_history = JSON.parse(history)
|
try{
|
||||||
|
this.__url_history = JSON.parse(history)
|
||||||
|
|
||||||
|
} catch(e) {
|
||||||
|
delete localStorage[key]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4047,20 +4063,38 @@ var URLHistoryLocalStorageActions = actions.Actions({
|
|||||||
clone: [function(){
|
clone: [function(){
|
||||||
return function(res){
|
return function(res){
|
||||||
res.config['url-history-local-storage-key'] = null
|
res.config['url-history-local-storage-key'] = null
|
||||||
|
res.config['url-history-loaded-local-storage-key'] = null
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
|
|
||||||
saveURLHistory: ['',
|
saveURLHistory: ['History/',
|
||||||
function(){
|
function(){
|
||||||
var key = this.config['url-history-local-storage-key']
|
var history = this.config['url-history-local-storage-key']
|
||||||
|
if(history != null){
|
||||||
if(key == null){
|
localStorage[history] =
|
||||||
return
|
JSON.stringify(this.url_history)
|
||||||
}
|
}
|
||||||
|
|
||||||
localStorage[key] =
|
this.saveBasePath()
|
||||||
JSON.stringify(this.url_history)
|
|
||||||
}],
|
}],
|
||||||
|
saveBasePath: ['History/',
|
||||||
|
function(){
|
||||||
|
var loaded = this.config['url-history-loaded-local-storage-key']
|
||||||
|
if(loaded != null){
|
||||||
|
localStorage[loaded] = this.base_path
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
loadLastSavedBasePath: ['History/',
|
||||||
|
function(){
|
||||||
|
var loaded = this.config['url-history-loaded-local-storage-key']
|
||||||
|
|
||||||
|
if(loaded && localStorage[loaded]){
|
||||||
|
this.openURLFromHistory(localStorage[loaded])
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.openURLFromHistory(0)
|
||||||
|
}
|
||||||
|
}]
|
||||||
})
|
})
|
||||||
|
|
||||||
var URLHistoryLocalStorage =
|
var URLHistoryLocalStorage =
|
||||||
@ -4078,6 +4112,9 @@ module.URLHistoryLocalStorage = ImageGridFeatures.Feature({
|
|||||||
|
|
||||||
// NOTE: loading is done by the .url_history prop...
|
// NOTE: loading is done by the .url_history prop...
|
||||||
handlers: [
|
handlers: [
|
||||||
|
// XXX not sure if we need this...
|
||||||
|
['load loadURLs',
|
||||||
|
function(){ this.base_path && this.saveBasePath() }],
|
||||||
// save...
|
// save...
|
||||||
['pushURLToHistory dropURLFromHistory setTopURLHistory',
|
['pushURLToHistory dropURLFromHistory setTopURLHistory',
|
||||||
function(){
|
function(){
|
||||||
@ -4088,9 +4125,14 @@ module.URLHistoryLocalStorage = ImageGridFeatures.Feature({
|
|||||||
function(){
|
function(){
|
||||||
delete this.__url_history
|
delete this.__url_history
|
||||||
|
|
||||||
var key = this.config['url-history-local-storage-key']
|
var history = this.config['url-history-local-storage-key']
|
||||||
if(key){
|
if(history){
|
||||||
delete localStorage[this.config['url-history-local-storage-key']]
|
delete localStorage[history]
|
||||||
|
}
|
||||||
|
|
||||||
|
var loaded = this.config['url-history-loaded-local-storage-key']
|
||||||
|
if(loaded){
|
||||||
|
delete localStorage[loaded]
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
],
|
],
|
||||||
@ -4113,7 +4155,7 @@ var URLHistoryUIActions = actions.Actions({
|
|||||||
// ...possibly connected with restoring after .preventClosing(..)
|
// ...possibly connected with restoring after .preventClosing(..)
|
||||||
// XXX need to check items...
|
// XXX need to check items...
|
||||||
// XXX use svg icons for buttons...
|
// XXX use svg icons for buttons...
|
||||||
listURLHistory: ['File/History',
|
listURLHistory: ['History|File/Show history',
|
||||||
function(){
|
function(){
|
||||||
var that = this
|
var that = this
|
||||||
var parent = this.preventClosing ? this.preventClosing() : null
|
var parent = this.preventClosing ? this.preventClosing() : null
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user