mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-11-01 11:50:07 +00:00
now .json data is saved ONLY if updated (still does not apply to data.json)...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
3c223b3fa5
commit
8b44986e33
@ -87,12 +87,13 @@ var toggleBookmark = makeMarkToggler(
|
|||||||
} else {
|
} else {
|
||||||
BOOKMARKS.splice(BOOKMARKS.indexOf(gid), 1)
|
BOOKMARKS.splice(BOOKMARKS.indexOf(gid), 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bookmarksUpdated()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
// focus next bookmark...
|
// focus next/prev bookmark...
|
||||||
//
|
//
|
||||||
// NOTE: this will not jump to bookmarks on other ribbons...
|
|
||||||
var nextBookmark = makeNextFromListAction(
|
var nextBookmark = makeNextFromListAction(
|
||||||
getBookmarkedGIDBefore,
|
getBookmarkedGIDBefore,
|
||||||
function(){ return BOOKMARKS })
|
function(){ return BOOKMARKS })
|
||||||
@ -117,6 +118,7 @@ var loadFileBookmarks = makeFileLoader(
|
|||||||
|
|
||||||
|
|
||||||
var saveFileBookmarks = makeFileSaver(
|
var saveFileBookmarks = makeFileSaver(
|
||||||
|
'Bookmarks',
|
||||||
BOOKMARKS_FILE_DEFAULT,
|
BOOKMARKS_FILE_DEFAULT,
|
||||||
function(){
|
function(){
|
||||||
return [
|
return [
|
||||||
@ -126,6 +128,11 @@ var saveFileBookmarks = makeFileSaver(
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function bookmarksUpdated(){
|
||||||
|
fileUpdated('Bookmarks')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Setup...
|
* Setup...
|
||||||
|
|||||||
31
ui/files.js
31
ui/files.js
@ -23,7 +23,8 @@ var IMAGE_PATTERN = /.*\.(jpg|jpeg|png|gif)$/i
|
|||||||
|
|
||||||
|
|
||||||
var FILE_LOADERS = []
|
var FILE_LOADERS = []
|
||||||
var FILE_SAVERS = []
|
var FILE_SAVERS = {}
|
||||||
|
var FILES_UPDATED = []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -245,7 +246,7 @@ function makeFileLoader(title, file_dfl, file_pattern, set_data, evt_name, skip_
|
|||||||
}
|
}
|
||||||
// XXX make this check for updates -- no need to re-save if nothing
|
// XXX make this check for updates -- no need to re-save if nothing
|
||||||
// changed...
|
// changed...
|
||||||
function makeFileSaver(file_dfl, get_data, skip_reg){
|
function makeFileSaver(title, file_dfl, get_data, skip_reg){
|
||||||
var _saver = function(name){
|
var _saver = function(name){
|
||||||
name = name == null
|
name = name == null
|
||||||
? normalizePath(CONFIG.cache_dir_var +'/'+ Date.timeStamp())
|
? normalizePath(CONFIG.cache_dir_var +'/'+ Date.timeStamp())
|
||||||
@ -253,21 +254,37 @@ function makeFileSaver(file_dfl, get_data, skip_reg){
|
|||||||
|
|
||||||
dumpJSON(name + '-' + file_dfl, get_data())
|
dumpJSON(name + '-' + file_dfl, get_data())
|
||||||
}
|
}
|
||||||
!skip_reg && FILE_SAVERS.push(_saver)
|
if(!skip_reg){
|
||||||
|
FILE_SAVERS[title] = _saver
|
||||||
|
}
|
||||||
return _saver
|
return _saver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// mark file type as updated...
|
||||||
|
function fileUpdated(name){
|
||||||
|
if(FILES_UPDATED.indexOf(name) < 0 && name in FILE_SAVERS){
|
||||||
|
FILES_UPDATED.push(name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function runFileLoaders(prefix, res){
|
function runFileLoaders(prefix, res){
|
||||||
return $.when.apply(null, FILE_LOADERS.map(function(load){
|
return $.when.apply(null, FILE_LOADERS.map(function(load){
|
||||||
return bubbleProgress(prefix, load(), res, true)
|
return bubbleProgress(prefix, load(), res, true)
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
// NOTE: if all is set, this will force save everything...
|
||||||
// XXX do we need bubbleProgress(..) here???
|
// XXX do we need bubbleProgress(..) here???
|
||||||
function runFileSavers(name){
|
function runFileSavers(name, all){
|
||||||
FILE_SAVERS.map(function(save){
|
var updated = FILES_UPDATED
|
||||||
return save(name)
|
FILES_UPDATED = []
|
||||||
})
|
for(var n in FILE_SAVERS){
|
||||||
|
if(all || updated.indexOf(n) >= 0){
|
||||||
|
showStatusQ('Saving: File:', n)
|
||||||
|
FILE_SAVERS[n](name)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
14
ui/marks.js
14
ui/marks.js
@ -236,6 +236,8 @@ var toggleMark = makeMarkToggler(
|
|||||||
} else {
|
} else {
|
||||||
MARKED.splice(MARKED.indexOf(gid), 1)
|
MARKED.splice(MARKED.indexOf(gid), 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
marksUpdated()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -281,6 +283,8 @@ function toggleAllMarks(action, mode){
|
|||||||
|
|
||||||
$('.viewer').trigger('togglingMarks', [updated, action])
|
$('.viewer').trigger('togglingMarks', [updated, action])
|
||||||
|
|
||||||
|
marksUpdated()
|
||||||
|
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,6 +332,8 @@ function invertImageMarks(){
|
|||||||
.trigger('togglingMarks', [on, 'on'])
|
.trigger('togglingMarks', [on, 'on'])
|
||||||
.trigger('togglingMarks', [off, 'off'])
|
.trigger('togglingMarks', [off, 'off'])
|
||||||
|
|
||||||
|
marksUpdated()
|
||||||
|
|
||||||
return on.concat(off)
|
return on.concat(off)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,6 +384,8 @@ function toggleMarkBlock(image){
|
|||||||
.trigger('togglingImageBlockMarks', [image, updated, state])
|
.trigger('togglingImageBlockMarks', [image, updated, state])
|
||||||
.trigger('togglingMarks', [updated, state ? 'on' : 'off'])
|
.trigger('togglingMarks', [updated, state ? 'on' : 'off'])
|
||||||
|
|
||||||
|
marksUpdated()
|
||||||
|
|
||||||
return state
|
return state
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -580,12 +588,18 @@ var loadFileMarks = makeFileLoader(
|
|||||||
|
|
||||||
// Save image marks to file
|
// Save image marks to file
|
||||||
var saveFileMarks = makeFileSaver(
|
var saveFileMarks = makeFileSaver(
|
||||||
|
'Marks',
|
||||||
MARKED_FILE_DEFAULT,
|
MARKED_FILE_DEFAULT,
|
||||||
function(){
|
function(){
|
||||||
return MARKED
|
return MARKED
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function marksUpdated(){
|
||||||
|
fileUpdated('Marks')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Setup...
|
* Setup...
|
||||||
|
|||||||
12
ui/tags.js
12
ui/tags.js
@ -59,6 +59,8 @@ function buildTagsFromImages(tagset, images){
|
|||||||
tagset[tag] = tagset[tag].filter(function(e){ return e != null })
|
tagset[tag] = tagset[tag].filter(function(e){ return e != null })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tagsUpdated()
|
||||||
|
|
||||||
return tagset
|
return tagset
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,6 +121,7 @@ function addTag(tags, gid, tagset, images){
|
|||||||
if(updated){
|
if(updated){
|
||||||
img.tags = img_tags
|
img.tags = img_tags
|
||||||
imageUpdated(gid)
|
imageUpdated(gid)
|
||||||
|
tagsUpdated()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,6 +158,7 @@ function removeTag(tags, gid, tagset, images){
|
|||||||
|
|
||||||
if(updated){
|
if(updated){
|
||||||
imageUpdated(gid)
|
imageUpdated(gid)
|
||||||
|
tagsUpdated()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,6 +348,7 @@ function tagOnlyBookmarked(tags){ return tagOnlyList(BOOKMARKED, tags) }
|
|||||||
function markTagged(tags){
|
function markTagged(tags){
|
||||||
MARKED = tagSelectAND(tags)
|
MARKED = tagSelectAND(tags)
|
||||||
updateImages()
|
updateImages()
|
||||||
|
marksUpdated()
|
||||||
return MARKED
|
return MARKED
|
||||||
}
|
}
|
||||||
function unmarkTagged(tags){
|
function unmarkTagged(tags){
|
||||||
@ -355,6 +360,7 @@ function unmarkTagged(tags){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
updateImages()
|
updateImages()
|
||||||
|
marksUpdated()
|
||||||
return set
|
return set
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -470,12 +476,18 @@ var loadFileTags = makeFileLoader(
|
|||||||
|
|
||||||
// Save image marks to file
|
// Save image marks to file
|
||||||
var saveFileTags = makeFileSaver(
|
var saveFileTags = makeFileSaver(
|
||||||
|
'Tags',
|
||||||
TAGS_FILE_DEFAULT,
|
TAGS_FILE_DEFAULT,
|
||||||
function(){
|
function(){
|
||||||
return TAGS
|
return TAGS
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function tagsUpdated(){
|
||||||
|
fileUpdated('Tags')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Setup...
|
* Setup...
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user