mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 19:30:07 +00:00 
			
		
		
		
	some refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									f28acbc09d
								
							
						
					
					
						commit
						90fb7d4f60
					
				
							
								
								
									
										162
									
								
								ui/data4.js
									
									
									
									
									
								
							
							
						
						
									
										162
									
								
								ui/data4.js
									
									
									
									
									
								
							| @ -144,7 +144,9 @@ var DataPrototype = { | ||||
| 		return this | ||||
| 	}, | ||||
| 
 | ||||
| 	// util methods...
 | ||||
| 
 | ||||
| 
 | ||||
| 	// Util methods...
 | ||||
| 	 | ||||
| 	// Compact a sparse list...
 | ||||
| 	compactSparseList: function(list){ | ||||
| @ -184,77 +186,8 @@ var DataPrototype = { | ||||
| 		return gid | ||||
| 	}, | ||||
| 	 | ||||
| 	// This is signature compatible with .getImage(..), see it for more
 | ||||
| 	// info...
 | ||||
| 	//
 | ||||
| 	// XXX do we need more specific focus operations like:
 | ||||
| 	// 		.focusImageOffset(offset)
 | ||||
| 	// 			XXX reference impelementation:
 | ||||
| 	// 				return this.focusImage('current', offset)
 | ||||
| 	// 		.focusRibbonOffset(offset)
 | ||||
| 	// 			XXX reference impelementation:
 | ||||
| 	// 				var c = this.getRibbonOrder()
 | ||||
| 	// 				var t = c+offset
 | ||||
| 	// 				return this.focusImage('current', (t < c ? 'after' : 'before'), t)
 | ||||
| 	focusImage: function(target, mode, list){ | ||||
| 		var current = this.getImage(target, mode, list) | ||||
| 		if(this.order.indexOf(current) >= 0){ | ||||
| 			this.current = current | ||||
| 		} | ||||
| 		return this | ||||
| 	},	 | ||||
| 	// This is signature compatible with .getRibbon(..), see it for more
 | ||||
| 	// info...
 | ||||
| 	setBase: function(target, offset){ | ||||
| 		var base = this.getRibbon(target, offset) | ||||
| 		if(base in this.ribbons){ | ||||
| 			this.base = base | ||||
| 		} | ||||
| 		return this | ||||
| 	}, | ||||
| 
 | ||||
| 	// Create empty ribbon...
 | ||||
| 	//
 | ||||
| 	// XXX above/below/at...
 | ||||
| 	// XXX do we remove ribbons and how...
 | ||||
| 	// XXX test
 | ||||
| 	newRibbon: function(target, mode){ | ||||
| 		var gid = this.newGid('R') | ||||
| 		var i = this.getRibbonOrder(target) | ||||
| 
 | ||||
| 		this.ribbon_order.splice(i, 0, gid) | ||||
| 		this.ribbons[gid] = [] | ||||
| 
 | ||||
| 		// XXX should we return this or gid???
 | ||||
| 		return this | ||||
| 	}, | ||||
| 	// Merge ribbons
 | ||||
| 	//
 | ||||
| 	//	.mergeRibbons('all')
 | ||||
| 	//	.mergeRibbons(ribbon, ribbon, ...)
 | ||||
| 	//		-> data
 | ||||
| 	// If 'all' is the first argumet, this will merge all the ribbons.
 | ||||
| 	//
 | ||||
| 	// This will merge the ribbons into the first.
 | ||||
| 	//
 | ||||
| 	// XXX we should update .base
 | ||||
| 	// XXX test
 | ||||
| 	mergeRibbons: function(target, other){ | ||||
| 		var targets = target == 'all' ? this.ribbon_order : arguments | ||||
| 		var base = arguments[0] | ||||
| 
 | ||||
| 		for(var i=1; i < arguments.length; i++){ | ||||
| 			var r = arguments[i] | ||||
| 			this.makeSparseImages(this.ribbons[r], this.ribbons[base]) | ||||
| 
 | ||||
| 			delete this.ribbons[r] | ||||
| 			this.ribbon_order.splice(this.ribbon_order.indexOf(r), 1) | ||||
| 		} | ||||
| 
 | ||||
| 		// XXX we should update .base
 | ||||
| 
 | ||||
| 		return this | ||||
| 	}, | ||||
| 	// Introspection...
 | ||||
| 
 | ||||
| 	// Get image
 | ||||
| 	//
 | ||||
| @ -625,6 +558,82 @@ var DataPrototype = { | ||||
| 		return this.ribbon_order.indexOf(this.getRibbon(target, offset)) | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	// Edit methods...
 | ||||
| 
 | ||||
| 	// This is signature compatible with .getImage(..), see it for more
 | ||||
| 	// info...
 | ||||
| 	//
 | ||||
| 	// XXX do we need more specific focus operations like:
 | ||||
| 	// 		.focusImageOffset(offset)
 | ||||
| 	// 			XXX reference impelementation:
 | ||||
| 	// 				return this.focusImage('current', offset)
 | ||||
| 	// 		.focusRibbonOffset(offset)
 | ||||
| 	// 			XXX reference impelementation:
 | ||||
| 	// 				var c = this.getRibbonOrder()
 | ||||
| 	// 				var t = c+offset
 | ||||
| 	// 				return this.focusImage('current', (t < c ? 'after' : 'before'), t)
 | ||||
| 	focusImage: function(target, mode, list){ | ||||
| 		var current = this.getImage(target, mode, list) | ||||
| 		if(this.order.indexOf(current) >= 0){ | ||||
| 			this.current = current | ||||
| 		} | ||||
| 		return this | ||||
| 	},	 | ||||
| 	// This is signature compatible with .getRibbon(..), see it for more
 | ||||
| 	// info...
 | ||||
| 	setBase: function(target, offset){ | ||||
| 		var base = this.getRibbon(target, offset) | ||||
| 		if(base in this.ribbons){ | ||||
| 			this.base = base | ||||
| 		} | ||||
| 		return this | ||||
| 	}, | ||||
| 
 | ||||
| 	// Create empty ribbon...
 | ||||
| 	//
 | ||||
| 	// XXX above/below/at...
 | ||||
| 	// XXX do we remove ribbons and how...
 | ||||
| 	// XXX test
 | ||||
| 	newRibbon: function(target, mode){ | ||||
| 		var gid = this.newGid('R') | ||||
| 		var i = this.getRibbonOrder(target) | ||||
| 
 | ||||
| 		this.ribbon_order.splice(i, 0, gid) | ||||
| 		this.ribbons[gid] = [] | ||||
| 
 | ||||
| 		// XXX should we return this or gid???
 | ||||
| 		return this | ||||
| 	}, | ||||
| 	// Merge ribbons
 | ||||
| 	//
 | ||||
| 	//	.mergeRibbons('all')
 | ||||
| 	//	.mergeRibbons(ribbon, ribbon, ...)
 | ||||
| 	//		-> data
 | ||||
| 	// If 'all' is the first argumet, this will merge all the ribbons.
 | ||||
| 	//
 | ||||
| 	// This will merge the ribbons into the first.
 | ||||
| 	//
 | ||||
| 	// XXX we should update .base
 | ||||
| 	// XXX test
 | ||||
| 	mergeRibbons: function(target, other){ | ||||
| 		var targets = target == 'all' ? this.ribbon_order : arguments | ||||
| 		var base = arguments[0] | ||||
| 
 | ||||
| 		for(var i=1; i < arguments.length; i++){ | ||||
| 			var r = arguments[i] | ||||
| 			this.makeSparseImages(this.ribbons[r], this.ribbons[base]) | ||||
| 
 | ||||
| 			delete this.ribbons[r] | ||||
| 			this.ribbon_order.splice(this.ribbon_order.indexOf(r), 1) | ||||
| 		} | ||||
| 
 | ||||
| 		// XXX we should update .base
 | ||||
| 
 | ||||
| 		return this | ||||
| 	}, | ||||
| 
 | ||||
| 	// Sort images in ribbons via .order...
 | ||||
| 	//
 | ||||
| 	// NOTE: this sorts in-place
 | ||||
| @ -738,6 +747,10 @@ var DataPrototype = { | ||||
| 		return this  | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	// Data-level edit methods...
 | ||||
| 
 | ||||
| 	// Split data into 2 or more sections...
 | ||||
| 	//
 | ||||
| 	// NOTE: this might result in empty ribbons, if no images are in a 
 | ||||
| @ -848,13 +861,12 @@ var DataPrototype = { | ||||
| 		return res | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	// JSON serialization...
 | ||||
| 	//
 | ||||
| 
 | ||||
| 	// NOTE: this loads in-place, use .fromJSON(..) to create new data...
 | ||||
| 	// XXX check if we need more version checking...
 | ||||
| 	convertDataGen3: function(data){ | ||||
| 		// XXX check for earlier versions...
 | ||||
| 		// XXX do we need to do more here???
 | ||||
| 		data = data.version == null ? convertDataGen1(data) : data | ||||
| 		var that = this | ||||
| 		var res = {} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user