mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-30 02:40:08 +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