Re: [PATCH] Fix inconsistent search result in HTML export

2014-11-01 Thread Gehad Elrobey
Dirk,

I think you have missed this patch, this patch fixes ticket #723 on the
trac.

Regards,
Gehad

On Fri, Oct 31, 2014 at 3:06 AM, Gehad Elrobey gehadelro...@gmail.com
wrote:

 Patch is attached to fix some inconsistency in HTML exports search.

From 7da7578385511e516a6010e1186f3542ed0ca1d2 Mon Sep 17 00:00:00 2001
From: Gehad elrobey gehadelro...@gmail.com
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 gehadelro...@gmail.com
---
 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 checkedLocationbr
-		input type=checkbox onchange=changeAdvSearch(this) value=divemaster checkedDivemasterbr
-		input type=checkbox onchange=changeAdvSearch(this) value=buddy checkedBuddybr
-		input type=checkbox onchange=changeAdvSearch(this) value=notes checkedNotesbr
-		input type=checkbox onchange=changeAdvSearch(this) value=tags checkedTagsbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_location value=location checkedLocationbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_divemaster value=divemaster checkedDivemasterbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_Buddy value=buddy checkedBuddybr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_Notes value=notes checkedNotesbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_Tags value=tags checkedTagsbr
 		/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
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: [PATCH] Fix inconsistent search result in HTML export

2014-11-01 Thread Dirk Hohndel
On Sat, Nov 01, 2014 at 09:54:19PM +0200, Gehad Elrobey wrote:
 Dirk,
 
 I think you have missed this patch, this patch fixes ticket #723 on the
 trac.

Sorry about that. Applied

/D
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


[PATCH] Fix inconsistent search result in HTML export

2014-10-30 Thread Gehad Elrobey
Patch is attached to fix some inconsistency in HTML exports search.
From 7da7578385511e516a6010e1186f3542ed0ca1d2 Mon Sep 17 00:00:00 2001
From: Gehad elrobey gehadelro...@gmail.com
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 gehadelro...@gmail.com
---
 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 checkedLocationbr
-		input type=checkbox onchange=changeAdvSearch(this) value=divemaster checkedDivemasterbr
-		input type=checkbox onchange=changeAdvSearch(this) value=buddy checkedBuddybr
-		input type=checkbox onchange=changeAdvSearch(this) value=notes checkedNotesbr
-		input type=checkbox onchange=changeAdvSearch(this) value=tags checkedTagsbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_location value=location checkedLocationbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_divemaster value=divemaster checkedDivemasterbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_Buddy value=buddy checkedBuddybr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_Notes value=notes checkedNotesbr
+		input type=checkbox onchange=changeAdvSearch(this) id=search_item_Tags value=tags checkedTagsbr
 		/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
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface