Patch is attached to fix some inconsistency in HTML exports search.
From 7da7578385511e516a6010e1186f3542ed0ca1d2 Mon Sep 17 00:00:00 2001 From: Gehad elrobey <[email protected]> Date: Fri, 31 Oct 2014 02:50:17 +0200 Subject: [PATCH] Fix inconsistent search result in HTML export
The advanced search drop down menu always showed the user selected settings, even if this is a customized search (tag, location) that took place by clicking on the search quick hyperlink. This is fixed by saving the user default search preferences and changing them temporarily when quick hyperlinks searching is used. Fixes #723 Signed-off-by: Gehad elrobey <[email protected]> --- theme/dive_export.html | 44 ++++++++++++++++++++++++++++++++++++++------ theme/list_lib.js | 2 ++ 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/theme/dive_export.html b/theme/dive_export.html index 6f3708c..e171b07 100644 --- a/theme/dive_export.html +++ b/theme/dive_export.html @@ -139,8 +139,40 @@ window.onload=function(){ getDefaultColor(); } +var user_search_preference = { + location : true, + divemaster : true, + buddy : true, + notes : true, + tags : true +}; + +function set_search_dropdown(search_preference) +{ + console.log(search_preference); + searchingModules["location"].enabled = search_preference.location; + document.getElementById("search_item_location").checked = search_preference.location; + + searchingModules["divemaster"].enabled = search_preference.divemaster; + document.getElementById("search_item_divemaster").checked = search_preference.divemaster; + + searchingModules["buddy"].enabled = search_preference.buddy; + document.getElementById("search_item_Buddy").checked = search_preference.buddy; + + searchingModules["notes"].enabled = search_preference.notes; + document.getElementById("search_item_Notes").checked = search_preference.notes; + + searchingModules["tags"].enabled = search_preference.tags; + document.getElementById("search_item_Tags").checked = search_preference.tags; +} + function changeAdvSearch(e){ - searchingModules[e.value].enabled=e.checked; + // change user searching preference + user_search_preference[e.value] = e.checked; + + //set search preference dropdown + set_search_dropdown(user_search_preference); + SearchModules(document.getElementById("search_input").value, null); } @@ -158,11 +190,11 @@ function changeAdvSearch(e){ <input id="search_input" oninput="SearchModules(this.value, null)" placeholder="search"/> <a id="adv_srch_sp" onClick="showdiv()" >Advanced search</a> <div id="advanced_search"> - <input type="checkbox" onchange="changeAdvSearch(this)" value="location" checked>Location<br> - <input type="checkbox" onchange="changeAdvSearch(this)" value="divemaster" checked>Divemaster<br> - <input type="checkbox" onchange="changeAdvSearch(this)" value="buddy" checked>Buddy<br> - <input type="checkbox" onchange="changeAdvSearch(this)" value="notes" checked>Notes<br> - <input type="checkbox" onchange="changeAdvSearch(this)" value="tags" checked>Tags<br> + <input type="checkbox" onchange="changeAdvSearch(this)" id="search_item_location" value="location" checked>Location<br> + <input type="checkbox" onchange="changeAdvSearch(this)" id="search_item_divemaster" value="divemaster" checked>Divemaster<br> + <input type="checkbox" onchange="changeAdvSearch(this)" id="search_item_Buddy" value="buddy" checked>Buddy<br> + <input type="checkbox" onchange="changeAdvSearch(this)" id="search_item_Notes" value="notes" checked>Notes<br> + <input type="checkbox" onchange="changeAdvSearch(this)" id="search_item_Tags" value="tags" checked>Tags<br> </div> <div id="toolbox"> <select id="no_dives_selector" onChange="setNumberOfDives(this)"> diff --git a/theme/list_lib.js b/theme/list_lib.js index b2dc13b..e50fc39 100644 --- a/theme/list_lib.js +++ b/theme/list_lib.js @@ -516,6 +516,7 @@ function Node(value) function Search_list_Modules(searchfor, searchOptions) { document.getElementById("search_input").value = searchfor; + set_search_dropdown(searchOptions); SearchModules(searchfor, searchOptions); } @@ -531,6 +532,7 @@ function SearchModules(searchfor, searchOptions) itemsToShow = olditemstoshow; list_sort(sort_based_on); viewInPage(); + set_search_dropdown(user_search_preference); return; } -- 1.9.1
_______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
