mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 03:10:07 +00:00 
			
		
		
		
	started work on a smarter loadImages(...)...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									62ee92dc81
								
							
						
					
					
						commit
						cd287a715c
					
				
							
								
								
									
										47
									
								
								ui/data.js
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								ui/data.js
									
									
									
									
									
								
							| @ -282,6 +282,17 @@ function updateImages(size){ | |||||||
| // NOTE: this will reload the current image elements...
 | // NOTE: this will reload the current image elements...
 | ||||||
| // NOTE: this is similar to extendRibbon(...) but different in interface...
 | // NOTE: this is similar to extendRibbon(...) but different in interface...
 | ||||||
| // XXX correctly align the result...
 | // XXX correctly align the result...
 | ||||||
|  | // XXX BUG scenarion:
 | ||||||
|  | // 			- load with LOAD_SCREENS = 4
 | ||||||
|  | // 			- change LOAD_SCREENS to 6
 | ||||||
|  | // 			- press right (next)
 | ||||||
|  | // 		Expected:
 | ||||||
|  | // 			- focus image #2
 | ||||||
|  | // 		Actial:
 | ||||||
|  | // 			- focused #6
 | ||||||
|  | // 		Reason:
 | ||||||
|  | // 			loadImages(...) does not care about currently loaded images 
 | ||||||
|  | // 			and positions, this first image reloads as #5...
 | ||||||
| function loadImages(ref_gid, count, ribbon){ | function loadImages(ref_gid, count, ribbon){ | ||||||
| 	ribbon = $(ribbon) | 	ribbon = $(ribbon) | ||||||
| 	var images = ribbon.find('.image') | 	var images = ribbon.find('.image') | ||||||
| @ -302,13 +313,41 @@ function loadImages(ref_gid, count, ribbon){ | |||||||
| 	from_i = l - from_i < count ? l - count : from_i | 	from_i = l - from_i < count ? l - count : from_i | ||||||
| 	var from_gid = DATA.ribbons[ribbon_i][from_i] | 	var from_gid = DATA.ribbons[ribbon_i][from_i] | ||||||
| 
 | 
 | ||||||
| 	// XXX load only what is needed instead of reloading everything...
 |  | ||||||
| 	// XXX
 |  | ||||||
| 
 |  | ||||||
| 	var size = getVisibleImageSize() | 	var size = getVisibleImageSize() | ||||||
|  | 
 | ||||||
|  | 	// XXX load only what is needed instead of reloading everything...
 | ||||||
|  | 	// XXX possible intersections:
 | ||||||
|  | 	//
 | ||||||
|  | 	// 		+------------+			- before
 | ||||||
|  | 	// 			+----------------+	- after
 | ||||||
|  | 	//
 | ||||||
|  | 	// 			+--------+			- before
 | ||||||
|  | 	// 		+--------------------+	- after
 | ||||||
|  | 	//
 | ||||||
|  | 	// 		NOTE: both cases symmetrical.
 | ||||||
|  | 	// 		NOTE: the ref_gid can be at any position in the after ribbon.
 | ||||||
|  | 	// 		
 | ||||||
|  | 	// 		In all cases it's a question of finding the minimal common 
 | ||||||
|  | 	// 		section...
 | ||||||
|  | 	// 		...essentially it's the first gid in both groups at the head 
 | ||||||
|  | 	// 		and the same for the tail...
 | ||||||
|  | 	// 			so, we essentially need to test the current head/tail and 
 | ||||||
|  | 	// 			new head tail for inclusion in the other ribbon and the 
 | ||||||
|  | 	// 			ones that pass are the common section's head/tail, so we
 | ||||||
|  | 	// 			can splice that out of the gids and simply extendRibbon(...)
 | ||||||
|  | 	var old_gids = getImageGIDs(getImageGID(images.first()), images.length, ribbon_i, true) | ||||||
| 	var gids = getImageGIDs(from_gid, count, ribbon_i, true) | 	var gids = getImageGIDs(from_gid, count, ribbon_i, true) | ||||||
| 
 | 
 | ||||||
| 	//console.log('>>>', ribbon_i, gids)
 | 	// XXX need to check if there actually is any intersection at all...
 | ||||||
|  | 
 | ||||||
|  | 	var head = gids.indexOf(old_gids[0]) != -1 ?  | ||||||
|  | 					gids.slice(0, gids.indexOf(old_gids[0]))  | ||||||
|  | 					: [] | ||||||
|  | 	var tail = gids.indexOf(old_gids[old_gids.length-1]) > 0 ?  | ||||||
|  | 					gids.slice(gids.indexOf(old_gids[old_gids.length-1]))  | ||||||
|  | 					: [] | ||||||
|  | 	console.log('>>>', head.length, '+-('+ (gids.length - head.length - tail.length) +')-+', tail.length) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 	// do nothing...
 | 	// do nothing...
 | ||||||
| 	// XXX this is still wrong, need to check what's loaded...
 | 	// XXX this is still wrong, need to check what's loaded...
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user