mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-29 02:10:08 +00:00 
			
		
		
		
	updated todo, added general manupulation functions: reverseRibbons, sortImages, reverseImageOrder and helpers: jQuery.fn.reverseChildren and jQuery.fn.sortChildren...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									533c13faff
								
							
						
					
					
						commit
						db736cea92
					
				
							
								
								
									
										21
									
								
								ui/TODO.otl
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								ui/TODO.otl
									
									
									
									
									
								
							| @ -198,6 +198,27 @@ Priority work | ||||
| 	[_] 0% 1.0 | ||||
| 	 | ||||
| 
 | ||||
| [_] 33% Main workflow | ||||
| 	[_] 33% image viewing | ||||
| 		[X] viewer | ||||
| 		[_] select source | ||||
| 		[_] slideshow | ||||
| 	[X] 100% ribbon sorting | ||||
| 		[X] ribbon navigation | ||||
| 		[X] shift image between ribbons | ||||
| 	[_] 0% metadata | ||||
| 		[_] tag filtering | ||||
| 		[_] tag editing | ||||
| 		[_] EXIF/IPTC | ||||
| 	[_] 0% image/export export | ||||
| 		[_] JSON | ||||
| 		[_] XMP metadata | ||||
| 		[_] fav dirs | ||||
| 		[_] file list | ||||
| 		[_] image set | ||||
| 	 | ||||
| 
 | ||||
| 
 | ||||
| Goals: | ||||
| 	main ribbon always consistent | ||||
| 	fast sorting via several simple passes | ||||
|  | ||||
| @ -15,7 +15,8 @@ var BACKGROUND_MODES = [ | ||||
| // ...this effectively makes the modes independant...
 | ||||
| // NOTE: null represent the default value (no class set)...
 | ||||
| // NOTE: these will change if changed in runtime...
 | ||||
| var NORMAL_MODE_BG = 'dark'  | ||||
| //var NORMAL_MODE_BG = 'dark' 
 | ||||
| var NORMAL_MODE_BG = null  | ||||
| var SINGLE_IMAGE_MODE_BG = 'black'  | ||||
| 
 | ||||
| 
 | ||||
| @ -40,6 +41,21 @@ var MOVE_DELTA = 50 | ||||
| /********************************************************** Helpers **/ | ||||
| 
 | ||||
| 
 | ||||
| jQuery.fn.reverseChildren = function(){ | ||||
| 	return $(this).each(function(_, e){ | ||||
| 		return $(e).append($(e).children().detach().get().reverse()) | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| jQuery.fn.sortChildren = function(func){ | ||||
| 	return $(this).each(function(_, e){ | ||||
| 		return $(e).append($(e).children().detach().get().sort(func)) | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| function getImageOrder(img){ | ||||
| 	// XXX HACK need to parseInt this because '13' is less than '2'... 
 | ||||
| 	// 	   ...figure a way out of this!!!
 | ||||
| @ -50,6 +66,12 @@ function setImageOrder(img, order){ | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| function cmpImageOrder(a, b){ | ||||
| 	return getImageOrder(a) - getImageOrder(b) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // this will create a function that will add/remove a css_class to elem 
 | ||||
| // calling the optional callbacks before and/or after.
 | ||||
| @ -1001,6 +1023,7 @@ function createRibbon(direction){ | ||||
| // XXX this uses jquery animation...
 | ||||
| // XXX one way to optimise this is to add the lesser ribbon to the 
 | ||||
| //     greater disregarding their actual order...
 | ||||
| // XXX think about using $(...).sortChildren(...) / sortImages()
 | ||||
| function mergeRibbons(direction, get_order){ | ||||
| 	if(get_order == null){ | ||||
| 		get_order = getImageOrder | ||||
| @ -1079,6 +1102,46 @@ var shiftImageUp = function(){ return shiftImage('prev') } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // reverse the ribbon order...
 | ||||
| function reverseRibbons(){ | ||||
| 	var ribbons = $('.ribbon') | ||||
| 	var field = $('.field') | ||||
| 	var scale = getElementScale(field) | ||||
| 	// get current ribbon index...
 | ||||
| 	var cur = ribbons.index($('.current.ribbon')) | ||||
| 
 | ||||
| 	// reverse...
 | ||||
| 	field.reverseChildren() | ||||
| 	 | ||||
| 	// compensate for offset cange...
 | ||||
| 	$('.current.image').click() | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // sort all images in all ribbons...
 | ||||
| // NOTE: this will only align three ribbons...
 | ||||
| function sortImages(){ | ||||
| 	$('.ribbon').sortChildren(cmpImageOrder) | ||||
| 	 | ||||
| 	// compensate for offset cange...
 | ||||
| 	$('.current.image').click() | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // this will reverse the order of images in all ribbons by reversing 
 | ||||
| // id attr and resorting...
 | ||||
| function reverseImageOrder(){ | ||||
| 	// reverse ID order...
 | ||||
| 	$($('.image').get().sort(cmpImageOrder).reverse()) | ||||
| 		.each(function(i, e){$(e).attr({'id': i})}) | ||||
| 	// resort the images...
 | ||||
| 	sortImages() | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /*********************************************************************/ | ||||
| // vim:set ts=4 sw=4 nowrap :
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user