diff --git a/index.html b/index.html
index 5c56fc6d..e5b858e5 100644
--- a/index.html
+++ b/index.html
@@ -2261,7 +2261,7 @@
-
+
@@ -3203,6 +3203,7 @@
+
diff --git a/modules/ui/rivers-overview.js b/modules/ui/rivers-overview.js
index 20adf356..e0b9c5c3 100644
--- a/modules/ui/rivers-overview.js
+++ b/modules/ui/rivers-overview.js
@@ -19,6 +19,7 @@ function overviewRivers() {
// add listeners
document.getElementById("riversOverviewRefresh").addEventListener("click", riversOverviewAddLines);
document.getElementById("addNewRiver").addEventListener("click", toggleAddRiver);
+ document.getElementById("riversBasinHighlight").addEventListener("click", toggleBasinsHightlight);
document.getElementById("riversExport").addEventListener("click", downloadRiversData);
document.getElementById("riversRemoveAll").addEventListener("click", triggerAllRiversRemove);
@@ -99,6 +100,23 @@ function overviewRivers() {
highlightElement(river);
}
+ function toggleBasinsHightlight() {
+ if (rivers.attr("data-basin") === "hightlighted") {
+ rivers.selectAll("*").attr("fill", null);
+ rivers.attr("data-basin", null);
+ } else {
+ rivers.attr("data-basin", "hightlighted");
+ const basins = [...(new Set(pack.rivers.map(r=>r.basin)))];
+ const colors = getColors(basins.length);
+
+ basins.forEach((b,i) => {
+ pack.rivers.filter(r => r.basin === b).forEach(r => {
+ rivers.select("#river"+r.i).attr("fill", colors[i]);
+ });
+ });
+ }
+ }
+
function downloadRiversData() {
let data = "Id,River,Type,Length,Basin\n"; // headers