diff --git a/modules/river-generator.js b/modules/river-generator.js index 74efb393..002b0296 100644 --- a/modules/river-generator.js +++ b/modules/river-generator.js @@ -344,7 +344,7 @@ const getName = function(cell) { // remove river and all its tributaries const remove = function(id) { const cells = pack.cells; - const riversToRemove = pack.rivers.filter(r => r.basin === id).map(r => r.i); + const riversToRemove = pack.rivers.filter(r => r.i === id || r.parent === id || r.basin === id).map(r => r.i); riversToRemove.forEach(r => rivers.select("#river"+r).remove()); cells.r.forEach((r, i) => { if (!r || !riversToRemove.includes(r)) return; diff --git a/modules/ui/rivers-editor.js b/modules/ui/rivers-editor.js index 14ae872d..bc8181ee 100644 --- a/modules/ui/rivers-editor.js +++ b/modules/ui/rivers-editor.js @@ -256,6 +256,7 @@ function editRiver(id) { $(this).dialog("close"); const river = +elSelected.attr("id").slice(5); Rivers.remove(river); + elSelected.remove(); // keep if river if missed in pack.rivers $("#riverEditor").dialog("close"); }, Cancel: function() {$(this).dialog("close");}