The attached patch fixes #713

-- 
regards,
Gehad
From 1cf50c4d578722a8589283582a4beef3c72bde9e Mon Sep 17 00:00:00 2001
From: Gehad elrobey <[email protected]>
Date: Wed, 25 Mar 2015 01:23:23 +0200
Subject: [PATCH] HTML: don't collapse the dive if hyperlink is clicked

fixes the wrong behaviour as dive details must not be closed when
hyperlinks are clicking, So check for Hyperlinks before toggling the
dive.

Fixes #713

Signed-off-by: Gehad elrobey <[email protected]>
---
 theme/list_lib.js | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/theme/list_lib.js b/theme/list_lib.js
index 2d5b626..6ca82ea 100644
--- a/theme/list_lib.js
+++ b/theme/list_lib.js
@@ -47,7 +47,7 @@ function updateView(start, end)
 	var divelist = document.getElementById('diveslist');
 	divelist.innerHTML = "";
 	for (var i = start; i <= end; i++) {
-		divelist.innerHTML += '<ul id="' + itemsToShow[i] + '" onclick="toggleExpantion(this)"</ul>';
+		divelist.innerHTML += '<ul id="' + itemsToShow[i] + '" onclick="toggleExpantion(event, this)"</ul>';
 		expand(document.getElementById(itemsToShow[i]));
 		items[itemsToShow[i]].expanded = true;
 	};
@@ -63,7 +63,7 @@ function addHTML(indexes)
 	var divelist = document.getElementById('diveslist');
 	divelist.innerHTML = "";
 	for (var i = 0; i < indexes.length; i++) {
-		divelist.innerHTML += '<ul id="' + indexes[i] + '" onclick="toggleExpantion(this)"</ul>';
+		divelist.innerHTML += '<ul id="' + indexes[i] + '" onclick="toggleExpantion(event, this)"</ul>';
 		expand(document.getElementById(indexes[i]));
 		itemsToShow[indexes[i]].expanded = true;
 	};
@@ -165,8 +165,11 @@ function setNumberOfDives(e)
 	viewInPage();
 }
 
-function toggleExpantion(ul)
+function toggleExpantion(e, ul)
 {
+	if (e.toElement.localName === "a" ) {
+		return;
+	}
 	if (!items[ul.id].expanded) {
 		expand(ul);
 		items[ul.id].expanded = true;
@@ -773,7 +776,7 @@ function expand_trip(trip)
 	trips[trip].expanded = true;
 	var d = document.getElementById("trip_dive_list_" + trip);
 	for (var j in trips[trip].dives) {
-		d.innerHTML += '<ul id="' + trips[trip].dives[j].number + '" onclick="toggleExpantion(this)" onmouseover="highlight(this)"' +
+		d.innerHTML += '<ul id="' + trips[trip].dives[j].number + '" onclick="toggleExpantion(event, this)" onmouseover="highlight(this)"' +
 			       ' onmouseout="unhighlight(this)">' + getlimited(trips[trip].dives[j]) + '</ul>';
 	}
 }
-- 
2.1.0

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to