mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20:09 +00:00 
			
		
		
		
	added .cropRibbons(..) and friends...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									7ead8cfeb4
								
							
						
					
					
						commit
						3c29e95798
					
				
							
								
								
									
										58
									
								
								ui/data4.js
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								ui/data4.js
									
									
									
									
									
								
							| @ -741,6 +741,7 @@ var DataPrototype = { | ||||
| 	//
 | ||||
| 	// If mode is 'below' this will create a new ribbon below the target,
 | ||||
| 	// otherwise the new ribbon will be created above.
 | ||||
| 	// XXX account for no ribbons...
 | ||||
| 	newRibbon: function(target, mode){ | ||||
| 		var gid = this.newGid('R') | ||||
| 		var i = this.getRibbonOrder(target) | ||||
| @ -1253,6 +1254,63 @@ var DataPrototype = { | ||||
| 		return this | ||||
| 	}, | ||||
| 
 | ||||
| 	// Create a sortable ribbon representation...
 | ||||
| 	//
 | ||||
| 	// 	.cropRibbons(mode)
 | ||||
| 	// 		-> Data
 | ||||
| 	//
 | ||||
| 	// mode controls which images represent each ribbon, it can be:
 | ||||
| 	// 	'current'	- the closest to current image (default)
 | ||||
| 	// 	'first'		- first image in ribbon
 | ||||
| 	// 	'last'		- last ribbon in image
 | ||||
| 	// 	<function>	- a function that will get an image gid
 | ||||
| 	//
 | ||||
| 	// NOTE: the images used with a given string mode are the same as 
 | ||||
| 	// 		the returned via .getImage(mode, ribbon)
 | ||||
| 	//
 | ||||
| 	// The resulting data will contain a single ribbon, each image in 
 | ||||
| 	// which represents a ribbon in the source data.
 | ||||
| 	// This view allows convenient sorting of ribbons as images.
 | ||||
| 	//
 | ||||
| 	// The crop can be merged back into the source ribbon via the 
 | ||||
| 	// .mergeRibbonCrop(..) method.
 | ||||
| 	//
 | ||||
| 	// XXX do these belong here???
 | ||||
| 	cropRibbons: function(mode){ | ||||
| 		mode = mode == null ? 'current' : mode | ||||
| 		var res = new Data() | ||||
| 
 | ||||
| 		// get image representations from each ribbon...
 | ||||
| 		var that = this | ||||
| 		var images = this.ribbon_order.map( | ||||
| 			typeof(mode) == typeof('str')  | ||||
| 				? function(e){ return that.getImage(mode, e) } | ||||
| 				: mode) | ||||
| 
 | ||||
| 		var r = res.newRibbon() | ||||
| 
 | ||||
| 		res.ribbons[r] = images | ||||
| 		res.order = images.slice() | ||||
| 		res.base = r | ||||
| 		res.current = images[0] | ||||
| 
 | ||||
| 		return res | ||||
| 	}, | ||||
| 
 | ||||
| 	// Merge the sortable ribbon representation into data...
 | ||||
| 	//
 | ||||
| 	// This will take the image order from the crop and merge it into 
 | ||||
| 	// the .ribbon_order of this.
 | ||||
| 	//
 | ||||
| 	// NOTE: see .cropRibbons(..) for more details...
 | ||||
| 	mergeRibbonCrop: function(crop){ | ||||
| 		var that = this | ||||
| 		this.ribbon_order = crop.order.map(function(e){ | ||||
| 			return that.getRibbon(e) | ||||
| 		}) | ||||
| 		return this | ||||
| 	}, | ||||
| 
 | ||||
| 	// Clone/copy the data object...
 | ||||
| 	//
 | ||||
| 	clone: function(){ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user