mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 18:30:09 +00:00
squashed all known bugs in tags+collections....
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
55f5dd171b
commit
7022eb93b7
@ -1983,8 +1983,7 @@ module.CollectionTags = core.ImageGridFeatures.Feature({
|
|||||||
local_tag_names
|
local_tag_names
|
||||||
.forEach(function(tag){
|
.forEach(function(tag){
|
||||||
/* XXX for some reason this does not work...
|
/* XXX for some reason this does not work...
|
||||||
tag in local_tags
|
tags.tag(tag, [...(local_tags[tag]
|
||||||
&& tags.tag(tag, [...(local_tags[tag]
|
|
||||||
|| that.data.tags.values(tag))])
|
|| that.data.tags.values(tag))])
|
||||||
/*/
|
/*/
|
||||||
// XXX this is not correct as we can have mixed tags...
|
// XXX this is not correct as we can have mixed tags...
|
||||||
@ -2028,16 +2027,18 @@ module.CollectionTags = core.ImageGridFeatures.Feature({
|
|||||||
var local_tags = this.collections[title].local_tags = {}
|
var local_tags = this.collections[title].local_tags = {}
|
||||||
local_tag_names
|
local_tag_names
|
||||||
.forEach(function(tag){
|
.forEach(function(tag){
|
||||||
|
/* XXX not sure which approach is better,
|
||||||
|
// API vs. direct .__index edit...
|
||||||
local_tags[tag] = (!new_set || title == MAIN_COLLECTION_TITLE) ?
|
local_tags[tag] = (!new_set || title == MAIN_COLLECTION_TITLE) ?
|
||||||
// XXX this might yield a slightly wider set of values...
|
// XXX this might yield a slightly wider set of values...
|
||||||
new Set(that.data.tags.values(tag))
|
new Set(that.data.tags.values(tag))
|
||||||
: new Set()
|
: new Set()
|
||||||
/*
|
/*/
|
||||||
local_tags[tag] = (!new_set || title == MAIN_COLLECTION_TITLE) ?
|
local_tags[tag] = (!new_set || title == MAIN_COLLECTION_TITLE) ?
|
||||||
// XXX this is not correct as we can have mixed tags...
|
// XXX this is not correct as we can have mixed tags...
|
||||||
// ...use actual tag API...
|
// ...use actual tag API...
|
||||||
((that.data.tags.__index || {})[tag] || new Set())
|
[...(that.data.tags.__index || {})[tag] || []]
|
||||||
: new Set()
|
: []
|
||||||
//*/
|
//*/
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -2064,8 +2065,7 @@ module.CollectionTags = core.ImageGridFeatures.Feature({
|
|||||||
}],
|
}],
|
||||||
// save .local_tags to json...
|
// save .local_tags to json...
|
||||||
// NOTE: we do not need to explicitly load anything as .load()
|
// NOTE: we do not need to explicitly load anything as .load()
|
||||||
// will load everything we need and .collectionLoading(..)
|
// will load everything we need...
|
||||||
// will .sortTags() for us...
|
|
||||||
['json',
|
['json',
|
||||||
function(res, mode){
|
function(res, mode){
|
||||||
var c = this.collections
|
var c = this.collections
|
||||||
@ -2081,7 +2081,7 @@ module.CollectionTags = core.ImageGridFeatures.Feature({
|
|||||||
&& this.collection != MAIN_COLLECTION_TITLE){
|
&& this.collection != MAIN_COLLECTION_TITLE){
|
||||||
var tags = this.data.tags.json()
|
var tags = this.data.tags.json()
|
||||||
var ltags = c[MAIN_COLLECTION_TITLE].local_tags || {}
|
var ltags = c[MAIN_COLLECTION_TITLE].local_tags || {}
|
||||||
var rtags = res.data.tags = {}
|
var rtags = res.data.tags.tags = {}
|
||||||
|
|
||||||
// move all the tags...
|
// move all the tags...
|
||||||
Object.keys(tags.tags)
|
Object.keys(tags.tags)
|
||||||
@ -2098,15 +2098,7 @@ module.CollectionTags = core.ImageGridFeatures.Feature({
|
|||||||
// XXX skip unloaded collections...
|
// XXX skip unloaded collections...
|
||||||
.filter(function(title){ return !!rc[title].data })
|
.filter(function(title){ return !!rc[title].data })
|
||||||
.forEach(function(title){
|
.forEach(function(title){
|
||||||
// convert sets to arrays...
|
rc[title].data.tags.tags = c[title].local_tags })
|
||||||
var local_tags = {}
|
|
||||||
Object.entries(c[title].local_tags || {})
|
|
||||||
.forEach(function(e){
|
|
||||||
local_tags[e[0]] = [...e[1]]
|
|
||||||
})
|
|
||||||
// move .local_tags to .data.tags
|
|
||||||
rc[title].data.tags.tags = local_tags
|
|
||||||
})
|
|
||||||
}],
|
}],
|
||||||
// load collection local tags from .data.tags to .local_tags...
|
// load collection local tags from .data.tags to .local_tags...
|
||||||
// ...this is needed if the collections are fully loaded as part
|
// ...this is needed if the collections are fully loaded as part
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user