summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-04-06 20:27:04 +0300
committerAlon Levy <alon@pobox.com>2015-04-06 20:27:04 +0300
commita515aa30a1fa6621711c16a54f3c516bc78931eb (patch)
tree76bac500c02782014178a0cfea62f8801c4f6b87 /src
parent2560ce1acb0ecb910cc8f9045b0019f04cbf63d8 (diff)
client: fix broken node and link deletion, plus fix selection after both
Diffstat (limited to 'src')
-rw-r--r--src/client/view/item_info.js4
-rw-r--r--src/client/view/selection.js8
2 files changed, 6 insertions, 6 deletions
diff --git a/src/client/view/item_info.js b/src/client/view/item_info.js
index fb3594e8..6a044a74 100644
--- a/src/client/view/item_info.js
+++ b/src/client/view/item_info.js
@@ -151,15 +151,15 @@ function setup_click_handlers()
var msg = is_node(item) ? 'delete node?' : 'delete link?';
e.preventDefault();
- hide();
if (confirm(msg)) {
delete_item(item);
}
+ hide();
});
$('#edit-dialog__save').on('click', function (e) {
e.preventDefault();
- hide();
commit();
+ hide();
});
// warn user if the item has been changed while open
diff --git a/src/client/view/selection.js b/src/client/view/selection.js
index 6f7d24b4..fcf46258 100644
--- a/src/client/view/selection.js
+++ b/src/client/view/selection.js
@@ -61,14 +61,14 @@ function listen_on_diff_bus(diffBus)
diffBus
.onValue(function (diff) {
// update due to potentially removed nodes first
- root_nodes = root_nodes.filter(function (n) {
+ new_root_nodes = root_nodes.filter(function (n) {
return get_main_graph().find_node__by_id(n.id) !== null;
});
- selected_nodes = selected_nodes.filter(function (n) {
+ new_selected_nodes = selected_nodes.filter(function (n) {
return get_main_graph().find_node__by_id(n.id) !== null;
});
// reselect based on current graph
- inner_select(root_nodes, selected_nodes);
+ inner_select(new_root_nodes, new_selected_nodes);
});
}
@@ -188,7 +188,7 @@ var node_root_selected = function(node) {
}
var node_first_selected = function(node) {
- return node.id === root_nodes[0].id;
+ return root_nodes && root_nodes.length > 0 && node.id === root_nodes[0].id;
}
var link_selected = function(link) {