mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20:09 +00:00 
			
		
		
		
	split out the history machinery into urlhistory.js...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									8003ceda29
								
							
						
					
					
						commit
						21f47bfbd1
					
				
							
								
								
									
										86
									
								
								ui/data.js
									
									
									
									
									
								
							
							
						
						
									
										86
									
								
								ui/data.js
									
									
									
									
									
								
							| @ -123,8 +123,6 @@ var SETTINGS = { | ||||
| } | ||||
| 
 | ||||
| var BASE_URL = '.' | ||||
| var BASE_URL_HISTORY = [] | ||||
| var BASE_URL_LIMIT = 10 | ||||
| 
 | ||||
| var IMAGE_CACHE = [] | ||||
| 
 | ||||
| @ -1621,90 +1619,6 @@ function preCacheAllRibbons(){ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * URL history... | ||||
| */ | ||||
| 
 | ||||
| function setupBaseURLHistory(){ | ||||
| 	$('.viewer') | ||||
| 		.on('baseURLChanged', function(evt, old_url, new_url){ | ||||
| 			var updated = false | ||||
| 
 | ||||
| 			// store the old and new urls in history unless they already
 | ||||
| 			// exist...
 | ||||
| 			if(BASE_URL_HISTORY.indexOf(old_url) < 0){ | ||||
| 				BASE_URL_HISTORY.splice(0, 0, old_url) | ||||
| 				updated = true | ||||
| 			} | ||||
| 			if(BASE_URL_HISTORY.indexOf(new_url) < 0){ | ||||
| 				BASE_URL_HISTORY.splice(0, 0, new_url) | ||||
| 				updated = true | ||||
| 			} | ||||
| 
 | ||||
| 			// truncate the history if needed...
 | ||||
| 			if(BASE_URL_HISTORY.length > BASE_URL_LIMIT){ | ||||
| 				BASE_URL_HISTORY.splice(BASE_URL_LIMIT, BASE_URL_HISTORY.length) | ||||
| 				updated = true | ||||
| 			} | ||||
| 
 | ||||
| 			// XXX is this the right place for this???
 | ||||
| 			if(updated){ | ||||
| 				saveLocalStorageBaseURLHistory()	 | ||||
| 			} | ||||
| 		}) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Push a url to top of history...
 | ||||
| //
 | ||||
| // NOTE: this does not care if a url exists or not, all other instances 
 | ||||
| // 		will get removed...
 | ||||
| function pushURLHistory(url){ | ||||
| 	url = url == null ? BASE_URL : url | ||||
| 
 | ||||
| 	while(BASE_URL_HISTORY.indexOf(url) >= 0){ | ||||
| 		BASE_URL_HISTORY.splice(BASE_URL_HISTORY.indexOf(url), 1) | ||||
| 	} | ||||
| 
 | ||||
| 	BASE_URL_HISTORY.splice(0, 0, url) | ||||
| 
 | ||||
| 	// XXX is this the right place for this???
 | ||||
| 	saveLocalStorageBaseURLHistory()	 | ||||
| 
 | ||||
| 	return url | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| function getURLHistoryPosition(){ | ||||
| 	return BASE_URL_HISTORY.indexOf(BASE_URL) | ||||
| } | ||||
| function getURLHistoryNext(){ | ||||
| 	var res = BASE_URL_HISTORY[ getURLHistoryPosition() - 1] | ||||
| 	return res == null ? BASE_URL : res | ||||
| } | ||||
| function getURLHistoryPrev(){ | ||||
| 	var res = BASE_URL_HISTORY[ getURLHistoryPosition() + 1 ] | ||||
| 	return res == null ? BASE_URL : res | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // NOTE: this will not affect history url order...
 | ||||
| function makeURLHistoryLoader(get, end_msg){ | ||||
| 	return function(){ | ||||
| 		var url = get() | ||||
| 		if(url != BASE_URL){ | ||||
| 			statusNotify(loadDir(url)) | ||||
| 		} else { | ||||
| 			showStatusQ('History: '+ end_msg +'...') | ||||
| 		} | ||||
| 		return url | ||||
| 	} | ||||
| } | ||||
| var loadURLHistoryNext = makeURLHistoryLoader(getURLHistoryNext, 'at last URL') | ||||
| var loadURLHistoryPrev = makeURLHistoryLoader(getURLHistoryPrev, 'at first URL') | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * Actions... | ||||
| */ | ||||
|  | ||||
| @ -23,6 +23,7 @@ | ||||
| 
 | ||||
| <script src="ribbons.js"></script> | ||||
| <script src="data.js"></script> | ||||
| <script src="urlhistory.js"></script> | ||||
| <script src="crop.js"></script> | ||||
| <script src="sort.js"></script> | ||||
| <script src="workers.js"></script> | ||||
|  | ||||
							
								
								
									
										120
									
								
								ui/urlhistory.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										120
									
								
								ui/urlhistory.js
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,120 @@ | ||||
| /********************************************************************** | ||||
| *  | ||||
| * | ||||
| * | ||||
| **********************************************************************/ | ||||
| 
 | ||||
| //var DEBUG = DEBUG != null ? DEBUG : true
 | ||||
| 
 | ||||
| 
 | ||||
| /*********************************************************************/ | ||||
| 
 | ||||
| var BASE_URL_HISTORY = [] | ||||
| var BASE_URL_LIMIT = 10 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * URL history... | ||||
| */ | ||||
| 
 | ||||
| // Setup history event handlers...
 | ||||
| //
 | ||||
| // NOTE: this will save history state to localStorage...
 | ||||
| function setupBaseURLHistory(){ | ||||
| 	$('.viewer') | ||||
| 		.on('baseURLChanged', function(evt, old_url, new_url){ | ||||
| 			var updated = false | ||||
| 
 | ||||
| 			// store the old and new urls in history unless they already
 | ||||
| 			// exist...
 | ||||
| 			if(BASE_URL_HISTORY.indexOf(old_url) < 0){ | ||||
| 				BASE_URL_HISTORY.splice(0, 0, old_url) | ||||
| 				updated = true | ||||
| 			} | ||||
| 			if(BASE_URL_HISTORY.indexOf(new_url) < 0){ | ||||
| 				BASE_URL_HISTORY.splice(0, 0, new_url) | ||||
| 				updated = true | ||||
| 			} | ||||
| 
 | ||||
| 			// truncate the history if needed...
 | ||||
| 			if(BASE_URL_HISTORY.length > BASE_URL_LIMIT){ | ||||
| 				BASE_URL_HISTORY.splice(BASE_URL_LIMIT, BASE_URL_HISTORY.length) | ||||
| 				updated = true | ||||
| 			} | ||||
| 
 | ||||
| 			// XXX is this the right place for this???
 | ||||
| 			if(updated){ | ||||
| 				saveLocalStorageBaseURLHistory()	 | ||||
| 			} | ||||
| 		}) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Push a url to top of history...
 | ||||
| //
 | ||||
| // NOTE: this does not care if a url exists or not, all other instances 
 | ||||
| // 		will get removed...
 | ||||
| // NOTE: this will not do any loading...
 | ||||
| // NOTE: this will save history state to localStorage...
 | ||||
| function pushURLHistory(url){ | ||||
| 	url = url == null ? BASE_URL : url | ||||
| 
 | ||||
| 	while(BASE_URL_HISTORY.indexOf(url) >= 0){ | ||||
| 		BASE_URL_HISTORY.splice(BASE_URL_HISTORY.indexOf(url), 1) | ||||
| 	} | ||||
| 
 | ||||
| 	BASE_URL_HISTORY.splice(0, 0, url) | ||||
| 
 | ||||
| 	// XXX is this the right place for this???
 | ||||
| 	saveLocalStorageBaseURLHistory()	 | ||||
| 
 | ||||
| 	return url | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Get current position in history...
 | ||||
| //
 | ||||
| function getURLHistoryPosition(){ | ||||
| 	return BASE_URL_HISTORY.indexOf(BASE_URL) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Get next/prev relative position in history...
 | ||||
| //
 | ||||
| function getURLHistoryNext(){ | ||||
| 	var res = BASE_URL_HISTORY[ getURLHistoryPosition() - 1] | ||||
| 	return res == null ? BASE_URL : res | ||||
| } | ||||
| function getURLHistoryPrev(){ | ||||
| 	var res = BASE_URL_HISTORY[ getURLHistoryPosition() + 1 ] | ||||
| 	return res == null ? BASE_URL : res | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * Actions... | ||||
| */ | ||||
| 
 | ||||
| // Make a history load action...
 | ||||
| //
 | ||||
| // NOTE: this will not affect history url order...
 | ||||
| function makeURLHistoryLoader(get, end_msg){ | ||||
| 	return function(){ | ||||
| 		var url = get() | ||||
| 		if(url != BASE_URL){ | ||||
| 			statusNotify(loadDir(url)) | ||||
| 		} else { | ||||
| 			showStatusQ('History: '+ end_msg +'...') | ||||
| 		} | ||||
| 		return url | ||||
| 	} | ||||
| } | ||||
| var loadURLHistoryNext = makeURLHistoryLoader(getURLHistoryNext, 'at last URL') | ||||
| var loadURLHistoryPrev = makeURLHistoryLoader(getURLHistoryPrev, 'at first URL') | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /********************************************************************** | ||||
| * vim:set ts=4 sw=4 :                                                */ | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user