From fdfc46d8277f7fa0faac1d8a5d20ca44fb4acad5 Mon Sep 17 00:00:00 2001 From: mdtrooper Date: Mon, 4 Apr 2016 17:52:26 +0200 Subject: [PATCH] Finish add fictional point. --- .../include/javascript/map/MapController.js | 76 ++++++++++++++++--- .../javascript/map/NetworkmapController.js | 64 ++++++++++++---- 2 files changed, 115 insertions(+), 25 deletions(-) diff --git a/pandora_console/include/javascript/map/MapController.js b/pandora_console/include/javascript/map/MapController.js index bc2beca8b1..fa13822dc9 100644 --- a/pandora_console/include/javascript/map/MapController.js +++ b/pandora_console/include/javascript/map/MapController.js @@ -212,7 +212,7 @@ MapController.prototype.init_map = function() { self.ini_selection_rectangle(); - self.init_events(); + self.events(); } /** @@ -1475,7 +1475,7 @@ MapController.prototype.events_for_nodes = function(id_node) { self.last_event = "drag"; $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_draggable(node)) return 1; // Continue var status_selection = @@ -1523,12 +1523,68 @@ MapController.prototype.events_for_nodes = function(id_node) { } } +MapController.prototype.is_draggable = function(node) { + var return_var = false; + + switch (node.type) { + case ITEM_TYPE_AGENT_NETWORKMAP: + case ITEM_TYPE_FICTIONAL_NODE: + return_var = true; + break; + } + + + return return_var; +} + +MapController.prototype.is_relationshipy = function(node) { + var return_var = false; + + switch (node.type) { + case ITEM_TYPE_AGENT_NETWORKMAP: + case ITEM_TYPE_FICTIONAL_NODE: + return_var = true; + break; + } + + + return return_var; +} + +MapController.prototype.is_selecty = function(node) { + var return_var = false; + + switch (node.type) { + case ITEM_TYPE_AGENT_NETWORKMAP: + case ITEM_TYPE_FICTIONAL_NODE: + return_var = true; + break; + } + + + return return_var; +} + +MapController.prototype.is_delety = function(node) { + var return_var = false; + + switch (node.type) { + case ITEM_TYPE_AGENT_NETWORKMAP: + case ITEM_TYPE_FICTIONAL_NODE: + return_var = true; + break; + } + + + return return_var; +} + /** * Function init_events * Return boolean * This function init click events in the map */ -MapController.prototype.init_events = function() { +MapController.prototype.events = function() { var self = this; self.events_for_nodes(); @@ -1666,7 +1722,7 @@ MapController.prototype.init_events = function() { if (self._relationship_in_progress) { $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_relationshipy(node)) return 1; // Continue var status_selection = @@ -1715,7 +1771,7 @@ MapController.prototype.start_relationship_nodes = function(type) { var self = this; $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_relationshipy(node)) return 1; // Continue var status_selection = @@ -1838,7 +1894,7 @@ MapController.prototype.apply_temp_arrows = function(target_id) { var self = this; $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_relationshipy(node)) return 1; // Continue var status_selection = @@ -1959,7 +2015,7 @@ MapController.prototype.get_last_graph_id = function() { $.each(nodes, function(i, node) { if (node['graph_id'] > return_var) { - return_var = node['graph_id']; + return_var = parseInt(node['graph_id']); } }); @@ -2087,7 +2143,7 @@ MapController.prototype.multiple_selection_select_nodes = function() { selection_box_dimensions["height"] / zoom.scale[1]; $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_selecty(node)) return 1; // Continue var x = node.x; @@ -2144,7 +2200,7 @@ MapController.prototype.remove_selection_nodes = function() { var self = this; $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_selecty(node)) return 1; // Continue self.select_node(node.graph_id, "off"); @@ -2343,7 +2399,7 @@ MapController.prototype.deleteNode = function(self, target) { var self = this; $.each(nodes, function(i, node) { - if (node.type != ITEM_TYPE_AGENT_NETWORKMAP) + if (!self.is_delety(node)) return 1; // Continue var status_selection = diff --git a/pandora_console/include/javascript/map/NetworkmapController.js b/pandora_console/include/javascript/map/NetworkmapController.js index 44de31c23c..b63f1151cd 100644 --- a/pandora_console/include/javascript/map/NetworkmapController.js +++ b/pandora_console/include/javascript/map/NetworkmapController.js @@ -238,6 +238,42 @@ NetworkmapController.prototype.get_arrows_AMA = function(id_to, id_from) { } } +NetworkmapController.prototype.get_arrow_AF_or_FF = function(id_to, id_from) { + var self = this; + var arrow_AF_or_FF; + var found = false; + + $.each(edges, function(i, edge) { + + if (self.get_node_type(id_to) == ITEM_TYPE_FICTIONAL_NODE || + self.get_node_type(id_from) == ITEM_TYPE_FICTIONAL_NODE) { + + var arrow = self.get_arrow(id_to, id_from); + + arrow_AF_or_FF = {}; + arrow_AF_or_FF['type'] = 'AF_or_FF'; + arrow_AF_or_FF['graph_id'] = arrow['arrow']['graph_id']; + arrow_AF_or_FF['to'] = arrow['nodes']['to']; + arrow_AF_or_FF['to_module'] = null; + arrow_AF_or_FF['to_status'] = null; + arrow_AF_or_FF['to_title'] = null; + arrow_AF_or_FF['from'] = arrow['nodes']['from']; + arrow_AF_or_FF['from_module'] = null; + arrow_AF_or_FF['from_status'] = null; + arrow_AF_or_FF['from_title'] = null; + + found = true; + } + }); + + if (found) { + return arrow_AF_or_FF; + } + else { + return null; + } +} + /** * Function get_arrow_AA * Return array (arrow) @@ -307,6 +343,7 @@ NetworkmapController.prototype.exists_arrow = function(arrows, arrow) { var arrow_from = arrow['from']['graph_id']; switch (arrow['type']) { + case 'AF_or_FF': case 'AA': case 'AMMA': if (a_to == arrow_to) { @@ -344,8 +381,14 @@ NetworkmapController.prototype.paint_arrows = function() { var clean_arrows = []; - var arrows_AA; $.each(edges, function(i, edge) { + var arrow_AF_or_FF = self.get_arrow_AF_or_FF(edge['to'], edge['from']); + if (arrow_AF_or_FF !== null) { + if (!self.exists_arrow(clean_arrows, arrow_AF_or_FF)) { + clean_arrows.push(arrow_AF_or_FF); + } + } + var arrow_AA = self.get_arrow_AA(edge['to'], edge['from']); if (arrow_AA !== null) { if (!self.exists_arrow(clean_arrows, arrow_AA)) { @@ -369,7 +412,7 @@ NetworkmapController.prototype.paint_arrows = function() { }); } }); - + MapController.prototype.update_edges_from_clean_arrows(clean_arrows); var arrow_layouts = self._viewport.selectAll(".arrow") @@ -389,19 +432,9 @@ NetworkmapController.prototype.paint_arrows = function() { .attr("data-from_module", function(d) { return d['from_module'];}); - create_arrow(arrow_layouts); - - /** - * Function create_arrow - * Return void - * This function creates the arrow - */ - function create_arrow(arrow_layouts) { - arrow_layouts.each(function(d) { - self.arrow_by_pieces(self._target + " svg", d); - }); - } - + arrow_layouts.each(function(d) { + self.arrow_by_pieces(self._target + " svg", d); + }); } /** @@ -422,6 +455,7 @@ NetworkmapController.prototype.arrow_by_pieces = function (target, arrow_data, w } else { switch (arrow_data['type']) { + case 'AF_or_FF': case 'AA': MapController.prototype.arrow_by_pieces.call( this, self._target + " svg", arrow_data, wait);