mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-11-04 05:10:07 +00:00 
			
		
		
		
	first version of splitData(...), still brain-dead and intested...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									1f9a58ead0
								
							
						
					
					
						commit
						ea00d8425b
					
				
							
								
								
									
										58
									
								
								ui/data.js
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								ui/data.js
									
									
									
									
									
								
							@ -524,13 +524,14 @@ function normalizePath(url, base, mode){
 | 
				
			|||||||
// Same as getImageBefore(...), but uses gids and searches in DATA...
 | 
					// Same as getImageBefore(...), but uses gids and searches in DATA...
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// NOTE: this uses it's own predicate...
 | 
					// NOTE: this uses it's own predicate...
 | 
				
			||||||
function getGIDBefore(gid, ribbon, search){
 | 
					function getGIDBefore(gid, ribbon, search, data){
 | 
				
			||||||
	gid = gid == null ? getImageGID() : gid
 | 
						gid = gid == null ? getImageGID() : gid
 | 
				
			||||||
	ribbon = ribbon == null ? getRibbonIndex() : ribbon
 | 
						ribbon = ribbon == null ? getRibbonIndex() : ribbon
 | 
				
			||||||
	search = search == null ? binSearch : search
 | 
						search = search == null ? binSearch : search
 | 
				
			||||||
 | 
						data = data == null ? DATA : data
 | 
				
			||||||
	//search = search == null ? match2(linSearch, binSearch) : search
 | 
						//search = search == null ? match2(linSearch, binSearch) : search
 | 
				
			||||||
	ribbon = DATA.ribbons[ribbon]
 | 
						ribbon = data.ribbons[ribbon]
 | 
				
			||||||
	var order = DATA.order
 | 
						var order = data.order
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var target = order.indexOf(gid)
 | 
						var target = order.indexOf(gid)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -792,8 +793,55 @@ function mergeData(a, b){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// XXX signature: splitData(data, gid1[, gid2[, ...]])
 | 
					// XXX signature: splitData(data, gid1[, gid2[, ...]])
 | 
				
			||||||
function splitData(data, gid){
 | 
					// XXX this is a bit brain-dead at the moment...
 | 
				
			||||||
	// XXX
 | 
					function splitData(data, gid1){
 | 
				
			||||||
 | 
						var gids = []
 | 
				
			||||||
 | 
						var res = []
 | 
				
			||||||
 | 
						var cur = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// build the resulting data objects...
 | 
				
			||||||
 | 
						// XXX revise...
 | 
				
			||||||
 | 
						for(var i=1; i<arguments.length; i++){
 | 
				
			||||||
 | 
							var prev = cur
 | 
				
			||||||
 | 
							cur = data.order.indexOf(arguments[i])
 | 
				
			||||||
 | 
							gids.push(arguments[i])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							res.push({
 | 
				
			||||||
 | 
								version: '2.0',
 | 
				
			||||||
 | 
								current: null,
 | 
				
			||||||
 | 
								ribbons: [], 
 | 
				
			||||||
 | 
								order: data.order.slice(prev, cur), 
 | 
				
			||||||
 | 
								image_file: null
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						// tail section...
 | 
				
			||||||
 | 
						res.push({
 | 
				
			||||||
 | 
							version: '2.0',
 | 
				
			||||||
 | 
							current: null,
 | 
				
			||||||
 | 
							ribbons: [], 
 | 
				
			||||||
 | 
							order: data.order.slice(cur), 
 | 
				
			||||||
 | 
							image_file: null
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// split the ribbons...
 | 
				
			||||||
 | 
						for(var i=0; i<data.ribbons.length; i++){
 | 
				
			||||||
 | 
							var r = data.ribbons[i]
 | 
				
			||||||
 | 
							var cur = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// get all split positions...
 | 
				
			||||||
 | 
							// XXX revise...
 | 
				
			||||||
 | 
							for(var j=0; j<gids.length; j++){
 | 
				
			||||||
 | 
								var prev = cur
 | 
				
			||||||
 | 
								var cur = r.indexOf(getGIDBefore(gids[j], i, null, data)) + 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// split and save the section to the corresponding data object...
 | 
				
			||||||
 | 
								res[j].ribbons.push(r.slice(prev, cur))
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							// tail section...
 | 
				
			||||||
 | 
							res[j+1].ribbons.push(r.slice(cur))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return res
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user