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 id="header">
|
||||
<div onClick="list_sort('1')" class="item">Number</div>
|
||||
<div onClick="list_sort('2')" class="item">Date</div>
|
||||
<div onClick="list_sort('3')" class="item">Time</div>
|
||||
<div onClick="list_sort('6')" class="item_large">Location</div>
|
||||
<div onClick="list_sort('4')" class="item">Air Temp</div>
|
||||
<div onClick="list_sort('5')" class="item">Water Temp</div>
|
||||
<div onClick="change_sort_col('1')" class="item">Number</div>
|
||||
<div onClick="change_sort_col('2')" class="item">Date</div>
|
||||
<div onClick="change_sort_col('3')" class="item">Time</div>
|
||||
<div onClick="change_sort_col('6')" class="item_large">Location</div>
|
||||
<div onClick="change_sort_col('4')" class="item">Air Temp</div>
|
||||
<div onClick="change_sort_col('5')" class="item">Water Temp</div>
|
||||
</div>
|
||||
<div id="diveslist">
|
||||
</div>
|
||||
|
|
|
@ -260,73 +260,98 @@ function putRating(rating)
|
|||
this variables keep the state of
|
||||
each col. sorted asc or des
|
||||
*/
|
||||
var number = false;
|
||||
var number = true;
|
||||
var time = true;
|
||||
var date = true;
|
||||
var air = true;
|
||||
var water = 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)
|
||||
{
|
||||
switch (sortOn) {
|
||||
case '1': //number
|
||||
if (number) {
|
||||
sort_it(sortOn, cmpNumAsc);
|
||||
number = 1 - number;
|
||||
} else {
|
||||
sort_it(sortOn, cmpNumDes);
|
||||
number = 1 - number;
|
||||
}
|
||||
break;
|
||||
case '2': //date
|
||||
if (date) {
|
||||
sort_it(sortOn, cmpDateAsc);
|
||||
date = 1 - date;
|
||||
} else {
|
||||
sort_it(sortOn, cmpDateDes);
|
||||
date = 1 - date;
|
||||
}
|
||||
break;
|
||||
case '3': //time
|
||||
if (time) {
|
||||
sort_it(sortOn, cmpTimeDes);
|
||||
time = 1 - time;
|
||||
} else {
|
||||
sort_it(sortOn, cmpTimeAsc);
|
||||
time = 1 - time;
|
||||
}
|
||||
break;
|
||||
case '4': //Air temp
|
||||
if (air) {
|
||||
sort_it(sortOn, cmpAtempDes);
|
||||
air = 1 - air;
|
||||
} else {
|
||||
sort_it(sortOn, cmpAtempAsc);
|
||||
air = 1 - air;
|
||||
}
|
||||
break;
|
||||
case '5': //Water temp
|
||||
if (water) {
|
||||
sort_it(sortOn, cmpWtempDes);
|
||||
water = 1 - water;
|
||||
} else {
|
||||
sort_it(sortOn, cmpWtempAsc);
|
||||
water = 1 - water;
|
||||
}
|
||||
break;
|
||||
case '6': //Water temp
|
||||
case '6': //Location
|
||||
if (locat) {
|
||||
sort_it(sortOn, cmpLocationDes);
|
||||
locat = 1 - locat;
|
||||
} else {
|
||||
sort_it(sortOn, cmpLocationAsc);
|
||||
locat = 1 - locat;
|
||||
}
|
||||
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
|
||||
*/
|
||||
|
@ -496,6 +521,7 @@ function SearchModules(searchfor, searchOptions)
|
|||
document.getElementById("search_input").style.borderColor = "initial";
|
||||
start = 0;
|
||||
itemsToShow = olditemstoshow;
|
||||
list_sort(sort_based_on);
|
||||
viewInPage();
|
||||
return;
|
||||
}
|
||||
|
@ -548,6 +574,7 @@ function SearchModules(searchfor, searchOptions)
|
|||
document.getElementById("search_input").style.borderColor = "initial";
|
||||
itemsToShow = resultKeys.keys;
|
||||
start = 0;
|
||||
list_sort(sort_based_on);
|
||||
viewInPage();
|
||||
}
|
||||
///////////////////////////////////////
|
||||
|
|
Loading…
Add table
Reference in a new issue