From f56d42f3ed53c37e7c9cb5a88206431e1d12abbb Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 5 May 2015 12:12:26 +0300 Subject: client/messages+selection: fix delete message for links only --- src/client/messages.js | 17 ++++++++--------- src/client/view/selection.js | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) (limited to 'src/client') diff --git a/src/client/messages.js b/src/client/messages.js index 370dab2f..8c4a1b2e 100644 --- a/src/client/messages.js +++ b/src/client/messages.js @@ -3,16 +3,13 @@ function (_, util, graph) { -function delete_items_message(items) { - util.assert(items && items.length && items.length > 0); +function delete_nodes_links_message(nodes, links) { + util.assert(nodes && links && nodes.length && links.length && nodes.length + links.length > 0); - var nodes = _.filter(items, graph.is_node), - links = _.filter(items, graph.is_link); - - return delete_items_message_by_name(nodes, links); + return delete_nodes_links_message_by_name(nodes, links); } -function delete_items_message_by_name(nodes, links) +function delete_nodes_links_message_by_name(nodes, links) { var middle, node_names = _.map(_.map(nodes, 'name'), quoted), @@ -22,6 +19,8 @@ function delete_items_message_by_name(nodes, links) middle = english_conjunction(node_names) + ', and ' + english_conjunction(link_names) + ' connections'; } else if (nodes.length > 0) { middle = english_conjunction(node_names); + } else { + middle = english_conjunction(link_names); } return 'Delete ' + middle + '?'; } @@ -42,7 +41,7 @@ function english_conjunction(names) return names.slice(0, names.length - 1).join(', ') + ' and ' + names[names.length - 1]; } -function delete_items_message_by_number(type, nodes, links) { +function delete_nodes_links_message_by_number(type, nodes, links) { var count_nodes = nodes.length, count_links = links.length, make_descriptor = function (type, count) { return count > 1 ? '' + count + ' ' + type + 's' : 'a ' + type; }, @@ -53,6 +52,6 @@ function delete_items_message_by_number(type, nodes, links) { } return { - delete_items_message: delete_items_message, + delete_nodes_links_message: delete_nodes_links_message, }; }); diff --git a/src/client/view/selection.js b/src/client/view/selection.js index 496d0b9e..ec8984bc 100644 --- a/src/client/view/selection.js +++ b/src/client/view/selection.js @@ -270,7 +270,7 @@ var setup_toolbar = function(main_graph, main_graph_view) main_graph.nodes__merge(selected_nodes_ids()); }, delete_selection = function() { - if (confirm(messages.delete_items_message(selected_nodes, []))) { + if (confirm(messages.delete_nodes_links_message(selected_nodes, []))) { main_graph.nodes__delete(ids); } }, -- cgit v1.3.1