diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java b/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java index f241f67bdb..189934afae 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java @@ -27,7 +27,9 @@ import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.wikivoyage.WikivoyageBaseDialogFragment; + import net.osmand.plus.wikivoyage.WikivoyageWebViewClient; + import net.osmand.plus.wikivoyage.data.WikivoyageArticle; import net.osmand.plus.wikivoyage.data.WikivoyageLocalDataHelper; import net.osmand.util.Algorithms; @@ -66,10 +68,25 @@ public class WikivoyageArticleDialogFragment extends WikivoyageBaseDialogFragmen "openContent(title);" + "window.location.hash = id;}\n" + "function openContent(id) {\n" + - "var doc = document.getElementById(id).parentElement;\n" + + " var doc = document.getElementById(id).parentElement;\n" + " doc.classList.toggle(\"active\");\n" + " var content = doc.nextElementSibling;\n" + - "content.style.display = \"block\";\n" + + " content.style.display = \"block\";\n" + + " collapseActive(doc);" + + "}" + + "function collapseActive(doc) {" + + " var coll = document.getElementsByTagName(\"H2\");" + + " var i;" + + " for (i = 0; i < coll.length; i++) {" + + " var item = coll[i];" + + " if (item != doc && item.classList.contains(\"active\")) {" + + " item.classList.toggle(\"active\");" + + " var content = item.nextElementSibling;" + + " if (content.style.display === \"block\") {" + + " content.style.display = \"none\";" + + " }" + + " }" + + " }" + "}" + "";