mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	HTML: Save last ordering state of sorting
Saving sorting state and apply the last sorting to new search results. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									47bdcbe261
								
							
						
					
					
						commit
						c27ee46281
					
				
					 2 changed files with 47 additions and 20 deletions
				
			
		|  | @ -158,12 +158,12 @@ function changeAdvSearch(e){ | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| 		<div id="header"> | 		<div id="header"> | ||||||
| 		<div onClick="list_sort('1')" class="item">Number</div> | 		<div onClick="change_sort_col('1')" class="item">Number</div> | ||||||
| 		<div onClick="list_sort('2')" class="item">Date</div> | 		<div onClick="change_sort_col('2')" class="item">Date</div> | ||||||
| 		<div onClick="list_sort('3')" class="item">Time</div> | 		<div onClick="change_sort_col('3')" class="item">Time</div> | ||||||
| 		<div onClick="list_sort('6')" class="item_large">Location</div> | 		<div onClick="change_sort_col('6')" class="item_large">Location</div> | ||||||
| 		<div onClick="list_sort('4')" class="item">Air Temp</div> | 		<div onClick="change_sort_col('4')" class="item">Air Temp</div> | ||||||
| 		<div onClick="list_sort('5')" class="item">Water Temp</div> | 		<div onClick="change_sort_col('5')" class="item">Water Temp</div> | ||||||
| 	</div> | 	</div> | ||||||
| 	<div id="diveslist"> | 	<div id="diveslist"> | ||||||
| 	</div> | 	</div> | ||||||
|  |  | ||||||
|  | @ -260,73 +260,98 @@ function putRating(rating) | ||||||
| this variables keep the state of | this variables keep the state of | ||||||
| each col. sorted asc or des | each col. sorted asc or des | ||||||
| */ | */ | ||||||
| var number = false; | var number = true; | ||||||
| var time = true; | var time = true; | ||||||
| var date = true; | var date = true; | ||||||
| var air = true; | var air = true; | ||||||
| var water = true; | var water = true; | ||||||
| var locat = true; | var locat = true; | ||||||
| 
 | 
 | ||||||
|  | /* | ||||||
|  | This variable keep the state of the col. | ||||||
|  | which is sorted upon it. | ||||||
|  | */ | ||||||
|  | var sort_based_on = 1; // sorting is based on number by default.
 | ||||||
|  | 
 | ||||||
|  | function change_sort_col(sortOn) | ||||||
|  | { | ||||||
|  | 	sort_based_on = sortOn; | ||||||
|  | 	toggle_sort_state(sortOn); | ||||||
|  | 	list_sort(sortOn); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function list_sort(sortOn) | function list_sort(sortOn) | ||||||
| { | { | ||||||
| 	switch (sortOn) { | 	switch (sortOn) { | ||||||
| 	case '1': //number
 | 	case '1': //number
 | ||||||
| 		if (number) { | 		if (number) { | ||||||
| 			sort_it(sortOn, cmpNumAsc); | 			sort_it(sortOn, cmpNumAsc); | ||||||
| 			number = 1 - number; |  | ||||||
| 		} else { | 		} else { | ||||||
| 			sort_it(sortOn, cmpNumDes); | 			sort_it(sortOn, cmpNumDes); | ||||||
| 			number = 1 - number; |  | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	case '2': //date
 | 	case '2': //date
 | ||||||
| 		if (date) { | 		if (date) { | ||||||
| 			sort_it(sortOn, cmpDateAsc); | 			sort_it(sortOn, cmpDateAsc); | ||||||
| 			date = 1 - date; |  | ||||||
| 		} else { | 		} else { | ||||||
| 			sort_it(sortOn, cmpDateDes); | 			sort_it(sortOn, cmpDateDes); | ||||||
| 			date = 1 - date; |  | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	case '3': //time
 | 	case '3': //time
 | ||||||
| 		if (time) { | 		if (time) { | ||||||
| 			sort_it(sortOn, cmpTimeDes); | 			sort_it(sortOn, cmpTimeDes); | ||||||
| 			time = 1 - time; |  | ||||||
| 		} else { | 		} else { | ||||||
| 			sort_it(sortOn, cmpTimeAsc); | 			sort_it(sortOn, cmpTimeAsc); | ||||||
| 			time = 1 - time; |  | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	case '4': //Air temp
 | 	case '4': //Air temp
 | ||||||
| 		if (air) { | 		if (air) { | ||||||
| 			sort_it(sortOn, cmpAtempDes); | 			sort_it(sortOn, cmpAtempDes); | ||||||
| 			air = 1 - air; |  | ||||||
| 		} else { | 		} else { | ||||||
| 			sort_it(sortOn, cmpAtempAsc); | 			sort_it(sortOn, cmpAtempAsc); | ||||||
| 			air = 1 - air; |  | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	case '5': //Water temp
 | 	case '5': //Water temp
 | ||||||
| 		if (water) { | 		if (water) { | ||||||
| 			sort_it(sortOn, cmpWtempDes); | 			sort_it(sortOn, cmpWtempDes); | ||||||
| 			water = 1 - water; |  | ||||||
| 		} else { | 		} else { | ||||||
| 			sort_it(sortOn, cmpWtempAsc); | 			sort_it(sortOn, cmpWtempAsc); | ||||||
| 			water = 1 - water; |  | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	case '6': //Water temp
 | 	case '6': //Location
 | ||||||
| 		if (locat) { | 		if (locat) { | ||||||
| 			sort_it(sortOn, cmpLocationDes); | 			sort_it(sortOn, cmpLocationDes); | ||||||
| 			locat = 1 - locat; |  | ||||||
| 		} else { | 		} else { | ||||||
| 			sort_it(sortOn, cmpLocationAsc); | 			sort_it(sortOn, cmpLocationAsc); | ||||||
| 			locat = 1 - locat; |  | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function toggle_sort_state(sortOn) | ||||||
|  | { | ||||||
|  | 	switch (sortOn) { | ||||||
|  | 	case '1': //number
 | ||||||
|  | 		number = 1 - number; | ||||||
|  | 		break; | ||||||
|  | 	case '2': //date
 | ||||||
|  | 		date = 1 - date; | ||||||
|  | 		break; | ||||||
|  | 	case '3': //time
 | ||||||
|  | 		time = 1 - time; | ||||||
|  | 		break; | ||||||
|  | 	case '4': //Air temp
 | ||||||
|  | 		air = 1 - air; | ||||||
|  | 		break; | ||||||
|  | 	case '5': //Water temp
 | ||||||
|  | 		water = 1 - water; | ||||||
|  | 		break; | ||||||
|  | 	case '6': //Location
 | ||||||
|  | 		locat = 1 - locat; | ||||||
|  | 		break; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /* | /* | ||||||
| *sorting interface for different coloumns | *sorting interface for different coloumns | ||||||
| */ | */ | ||||||
|  | @ -496,6 +521,7 @@ function SearchModules(searchfor, searchOptions) | ||||||
| 		document.getElementById("search_input").style.borderColor = "initial"; | 		document.getElementById("search_input").style.borderColor = "initial"; | ||||||
| 		start = 0; | 		start = 0; | ||||||
| 		itemsToShow = olditemstoshow; | 		itemsToShow = olditemstoshow; | ||||||
|  | 		list_sort(sort_based_on); | ||||||
| 		viewInPage(); | 		viewInPage(); | ||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
|  | @ -548,6 +574,7 @@ function SearchModules(searchfor, searchOptions) | ||||||
| 	document.getElementById("search_input").style.borderColor = "initial"; | 	document.getElementById("search_input").style.borderColor = "initial"; | ||||||
| 	itemsToShow = resultKeys.keys; | 	itemsToShow = resultKeys.keys; | ||||||
| 	start = 0; | 	start = 0; | ||||||
|  | 	list_sort(sort_based_on); | ||||||
| 	viewInPage(); | 	viewInPage(); | ||||||
| } | } | ||||||
| ///////////////////////////////////////
 | ///////////////////////////////////////
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue