mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20:09 +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 | 		return this | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
| 	// util methods...
 | 
 | ||||||
|  | 
 | ||||||
|  | 	// Util methods...
 | ||||||
| 	 | 	 | ||||||
| 	// Compact a sparse list...
 | 	// Compact a sparse list...
 | ||||||
| 	compactSparseList: function(list){ | 	compactSparseList: function(list){ | ||||||
| @ -184,77 +186,8 @@ var DataPrototype = { | |||||||
| 		return gid | 		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...
 | 	// Introspection...
 | ||||||
| 	//
 |  | ||||||
| 	// 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 |  | ||||||
| 	}, |  | ||||||
| 
 | 
 | ||||||
| 	// Get image
 | 	// Get image
 | ||||||
| 	//
 | 	//
 | ||||||
| @ -625,6 +558,82 @@ var DataPrototype = { | |||||||
| 		return this.ribbon_order.indexOf(this.getRibbon(target, offset)) | 		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...
 | 	// Sort images in ribbons via .order...
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// NOTE: this sorts in-place
 | 	// NOTE: this sorts in-place
 | ||||||
| @ -738,6 +747,10 @@ var DataPrototype = { | |||||||
| 		return this  | 		return this  | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	// Data-level edit methods...
 | ||||||
|  | 
 | ||||||
| 	// Split data into 2 or more sections...
 | 	// Split data into 2 or more sections...
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// NOTE: this might result in empty ribbons, if no images are in a 
 | 	// NOTE: this might result in empty ribbons, if no images are in a 
 | ||||||
| @ -848,13 +861,12 @@ var DataPrototype = { | |||||||
| 		return res | 		return res | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 	// JSON serialization...
 | 	// JSON serialization...
 | ||||||
| 	//
 | 
 | ||||||
| 	// NOTE: this loads in-place, use .fromJSON(..) to create new data...
 | 	// NOTE: this loads in-place, use .fromJSON(..) to create new data...
 | ||||||
| 	// XXX check if we need more version checking...
 |  | ||||||
| 	convertDataGen3: function(data){ | 	convertDataGen3: function(data){ | ||||||
| 		// XXX check for earlier versions...
 |  | ||||||
| 		// XXX do we need to do more here???
 |  | ||||||
| 		data = data.version == null ? convertDataGen1(data) : data | 		data = data.version == null ? convertDataGen1(data) : data | ||||||
| 		var that = this | 		var that = this | ||||||
| 		var res = {} | 		var res = {} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user