Merge branch 'ent-11452-problemas-con-zoom-en-widget-de-service-map' into 'develop'
Ent 11452 Problemas con zoom en widget de Service map See merge request artica/pandorafms!6102
This commit is contained in:
commit
b53da06c14
|
@ -25,7 +25,7 @@
|
||||||
/* global show_labels:true */
|
/* global show_labels:true */
|
||||||
/* global show_minimap:true */
|
/* global show_minimap:true */
|
||||||
/* global layer_graph */
|
/* global layer_graph */
|
||||||
/* global zoom_obj */
|
/* global zoom_obj_nm */
|
||||||
/* global disabled_drag_zoom */
|
/* global disabled_drag_zoom */
|
||||||
/* global scale:true */
|
/* global scale:true */
|
||||||
/* global link */
|
/* global link */
|
||||||
|
@ -42,6 +42,9 @@
|
||||||
/* exported hide_labels */
|
/* exported hide_labels */
|
||||||
/* exported toggle_minimap */
|
/* exported toggle_minimap */
|
||||||
/* exported over_node */
|
/* exported over_node */
|
||||||
|
if (typeof d3_nm === "undefined") {
|
||||||
|
var d3_nm = d3;
|
||||||
|
}
|
||||||
|
|
||||||
function draw_minimap() {
|
function draw_minimap() {
|
||||||
// Clean the canvas.
|
// Clean the canvas.
|
||||||
|
@ -397,7 +400,8 @@ function change_shape(id_db_node) {
|
||||||
$("#id_node_" + element.id + networkmap_id + " image").remove();
|
$("#id_node_" + element.id + networkmap_id + " image").remove();
|
||||||
|
|
||||||
if (shape == "circle") {
|
if (shape == "circle") {
|
||||||
d3.select("#id_node_" + element.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + element.id + networkmap_id)
|
||||||
.insert("circle", "title")
|
.insert("circle", "title")
|
||||||
.attr("r", node_radius)
|
.attr("r", node_radius)
|
||||||
.attr("class", "node_shape node_shape_circle")
|
.attr("class", "node_shape node_shape_circle")
|
||||||
|
@ -419,7 +423,8 @@ function change_shape(id_db_node) {
|
||||||
show_menu("node", d);
|
show_menu("node", d);
|
||||||
});
|
});
|
||||||
|
|
||||||
d3.select("#id_node_" + element.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + element.id + networkmap_id)
|
||||||
.append("image")
|
.append("image")
|
||||||
.attr("class", "node_image")
|
.attr("class", "node_image")
|
||||||
.attr("xlink:href", function(d) {
|
.attr("xlink:href", function(d) {
|
||||||
|
@ -456,7 +461,8 @@ function change_shape(id_db_node) {
|
||||||
show_menu("node", d);
|
show_menu("node", d);
|
||||||
});
|
});
|
||||||
} else if (shape == "square") {
|
} else if (shape == "square") {
|
||||||
d3.select("#id_node_" + element.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + element.id + networkmap_id)
|
||||||
.insert("rect", "title")
|
.insert("rect", "title")
|
||||||
.attr("width", node_radius * 2)
|
.attr("width", node_radius * 2)
|
||||||
.attr("height", node_radius * 2)
|
.attr("height", node_radius * 2)
|
||||||
|
@ -479,7 +485,8 @@ function change_shape(id_db_node) {
|
||||||
show_menu("node", d);
|
show_menu("node", d);
|
||||||
});
|
});
|
||||||
|
|
||||||
d3.select("#id_node_" + element.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + element.id + networkmap_id)
|
||||||
.append("image")
|
.append("image")
|
||||||
.attr("class", "node_image")
|
.attr("class", "node_image")
|
||||||
.attr("xlink:href", function(d) {
|
.attr("xlink:href", function(d) {
|
||||||
|
@ -516,7 +523,8 @@ function change_shape(id_db_node) {
|
||||||
show_menu("node", d);
|
show_menu("node", d);
|
||||||
});
|
});
|
||||||
} else if (shape == "rhombus") {
|
} else if (shape == "rhombus") {
|
||||||
d3.select("#id_node_" + element.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + element.id + networkmap_id)
|
||||||
.insert("rect", "title")
|
.insert("rect", "title")
|
||||||
.attr("transform", "")
|
.attr("transform", "")
|
||||||
.attr("width", node_radius * 1.5)
|
.attr("width", node_radius * 1.5)
|
||||||
|
@ -540,7 +548,8 @@ function change_shape(id_db_node) {
|
||||||
show_menu("node", d);
|
show_menu("node", d);
|
||||||
});
|
});
|
||||||
|
|
||||||
d3.select("#id_node_" + element.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + element.id + networkmap_id)
|
||||||
.append("image")
|
.append("image")
|
||||||
.attr("class", "node_image")
|
.attr("class", "node_image")
|
||||||
.attr("xlink:href", function(d) {
|
.attr("xlink:href", function(d) {
|
||||||
|
@ -798,7 +807,7 @@ function edit_node(data_node, dblClick) {
|
||||||
var edit_node = null;
|
var edit_node = null;
|
||||||
|
|
||||||
//Only select one node
|
//Only select one node
|
||||||
var selection = d3.selectAll(".node_selected");
|
var selection = d3_nm.selectAll(".node_selected");
|
||||||
var id;
|
var id;
|
||||||
|
|
||||||
if (selection[0].length == 1) {
|
if (selection[0].length == 1) {
|
||||||
|
@ -806,17 +815,17 @@ function edit_node(data_node, dblClick) {
|
||||||
} else if (selection[0].length > 1) {
|
} else if (selection[0].length > 1) {
|
||||||
edit_node = selection[0].pop();
|
edit_node = selection[0].pop();
|
||||||
} else if (dblClick) {
|
} else if (dblClick) {
|
||||||
edit_node = d3.select("#id_node_" + data_node["id"] + networkmap_id);
|
edit_node = d3_nm.select("#id_node_" + data_node["id"] + networkmap_id);
|
||||||
edit_node = edit_node[0][0];
|
edit_node = edit_node[0][0];
|
||||||
} else {
|
} else {
|
||||||
flag_edit_node = false;
|
flag_edit_node = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag_edit_node) {
|
if (flag_edit_node) {
|
||||||
d3.selectAll(".node_selected").classed("node_selected", false);
|
d3_nm.selectAll(".node_selected").classed("node_selected", false);
|
||||||
d3.select(edit_node).classed("node_selected", true);
|
d3_nm.select(edit_node).classed("node_selected", true);
|
||||||
|
|
||||||
id = d3
|
id = d3_nm
|
||||||
.select(edit_node)
|
.select(edit_node)
|
||||||
.attr("id")
|
.attr("id")
|
||||||
.replace("id_node_", "");
|
.replace("id_node_", "");
|
||||||
|
@ -1358,7 +1367,7 @@ function hide_labels_function() {
|
||||||
window.location.origin + "/pandora_console/images/enable.svg"
|
window.location.origin + "/pandora_console/images/enable.svg"
|
||||||
);
|
);
|
||||||
|
|
||||||
d3.selectAll(".node_text").style("display", "none");
|
d3_nm.selectAll(".node_text").style("display", "none");
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_labels_function() {
|
function show_labels_function() {
|
||||||
|
@ -1371,7 +1380,7 @@ function show_labels_function() {
|
||||||
window.location.origin + "/pandora_console/images/disable.svg"
|
window.location.origin + "/pandora_console/images/disable.svg"
|
||||||
);
|
);
|
||||||
|
|
||||||
d3.selectAll(".node_text").style("display", "");
|
d3_nm.selectAll(".node_text").style("display", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggle_minimap() {
|
function toggle_minimap() {
|
||||||
|
@ -1411,7 +1420,7 @@ function function_close_minimap() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function delete_nodes() {
|
function delete_nodes() {
|
||||||
var selection = d3.selectAll(".node_selected");
|
var selection = d3_nm.selectAll(".node_selected");
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
var params = [];
|
var params = [];
|
||||||
params.push("id=" + d.id_db);
|
params.push("id=" + d.id_db);
|
||||||
|
@ -1461,7 +1470,7 @@ function delete_nodes() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function zoom(manual) {
|
function zoom_networkmap(manual) {
|
||||||
if (typeof manual == "undefined") {
|
if (typeof manual == "undefined") {
|
||||||
manual = false;
|
manual = false;
|
||||||
}
|
}
|
||||||
|
@ -1472,18 +1481,18 @@ function zoom(manual) {
|
||||||
"translate(" + translation + ")scale(" + scale + ")"
|
"translate(" + translation + ")scale(" + scale + ")"
|
||||||
);
|
);
|
||||||
|
|
||||||
zoom_obj.translate(translation);
|
zoom_obj_nm.translate(translation);
|
||||||
zoom_obj.scale(scale);
|
zoom_obj_nm.scale(scale);
|
||||||
|
|
||||||
draw_minimap();
|
draw_minimap();
|
||||||
} else {
|
} else {
|
||||||
if (!disabled_drag_zoom) {
|
if (!disabled_drag_zoom && d3_nm.event !== null) {
|
||||||
translation[0] = d3.event.translate[0];
|
translation[0] = d3_nm.event.translate[0];
|
||||||
translation[1] = d3.event.translate[1];
|
translation[1] = d3_nm.event.translate[1];
|
||||||
scale = d3.event.scale;
|
scale = d3_nm.event.scale;
|
||||||
|
|
||||||
zoom_obj.translate(translation);
|
zoom_obj_nm.translate(translation);
|
||||||
zoom_obj.scale(scale);
|
zoom_obj_nm.scale(scale);
|
||||||
|
|
||||||
layer_graph.attr(
|
layer_graph.attr(
|
||||||
"transform",
|
"transform",
|
||||||
|
@ -1493,7 +1502,7 @@ function zoom(manual) {
|
||||||
draw_minimap();
|
draw_minimap();
|
||||||
} else {
|
} else {
|
||||||
//Keep the translation before to start to dragging
|
//Keep the translation before to start to dragging
|
||||||
zoom_obj.translate(translation);
|
zoom_obj_nm.translate(translation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1555,7 +1564,7 @@ function set_positions_graph() {
|
||||||
|
|
||||||
if (siblingCount > 1) {
|
if (siblingCount > 1) {
|
||||||
var siblings = getSiblingLinks(d.source, d.target);
|
var siblings = getSiblingLinks(d.source, d.target);
|
||||||
var arcScale = d3.scale
|
var arcScale = d3_nm.scale
|
||||||
.ordinal()
|
.ordinal()
|
||||||
.domain(siblings)
|
.domain(siblings)
|
||||||
.rangePoints([1, siblingCount]);
|
.rangePoints([1, siblingCount]);
|
||||||
|
@ -1701,18 +1710,20 @@ function set_positions_graph() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function over_node(d) {
|
function over_node(d) {
|
||||||
var over = d3.select("#id_node_" + d.id + networkmap_id).classed("node_over");
|
var over = d3_nm
|
||||||
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
|
.classed("node_over");
|
||||||
|
|
||||||
in_a_node = !in_a_node;
|
in_a_node = !in_a_node;
|
||||||
|
|
||||||
d3.select("#id_node_" + d.id + networkmap_id).classed("node_over", !over);
|
d3_nm.select("#id_node_" + d.id + networkmap_id).classed("node_over", !over);
|
||||||
}
|
}
|
||||||
|
|
||||||
function selected_node(d, selected_param, hold_other_selections) {
|
function selected_node(d, selected_param, hold_other_selections) {
|
||||||
if (typeof selected_param == "boolean") {
|
if (typeof selected_param == "boolean") {
|
||||||
selected = !selected_param; //because the next negate
|
selected = !selected_param; //because the next negate
|
||||||
} else {
|
} else {
|
||||||
selected = d3
|
selected = d3_nm
|
||||||
.select("#id_node_" + d.id + networkmap_id)
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
.classed("node_selected");
|
.classed("node_selected");
|
||||||
}
|
}
|
||||||
|
@ -1724,20 +1735,19 @@ function selected_node(d, selected_param, hold_other_selections) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deselect_others) {
|
if (deselect_others) {
|
||||||
d3.selectAll(".node_selected").classed("node_selected", false);
|
d3_nm.selectAll(".node_selected").classed("node_selected", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
d3.select("#id_node_" + d.id + networkmap_id).classed(
|
d3_nm
|
||||||
"node_selected",
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
!selected
|
.classed("node_selected", !selected);
|
||||||
);
|
|
||||||
|
|
||||||
d3.event.stopPropagation();
|
d3_nm.event.stopPropagation();
|
||||||
}
|
}
|
||||||
|
|
||||||
function clear_selection() {
|
function clear_selection() {
|
||||||
if (!flag_multiple_selection && !in_a_node) {
|
if (!flag_multiple_selection && !in_a_node) {
|
||||||
d3.selectAll(".node_selected").classed("node_selected", false);
|
d3_nm.selectAll(".node_selected").classed("node_selected", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1756,10 +1766,9 @@ function update_networkmap() {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: window.base_url_homedir + "/ajax.php",
|
url: window.base_url_homedir + "/ajax.php",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id + " .node_shape").style(
|
d3_nm
|
||||||
"fill",
|
.select("#id_node_" + d.id + networkmap_id + " .node_shape")
|
||||||
data["color"]
|
.style("fill", data["color"]);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1778,14 +1787,13 @@ function update_networkmap() {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: window.base_url_homedir + "/ajax.php",
|
url: window.base_url_homedir + "/ajax.php",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
d3.selectAll(".id_module_start_" + d.id_module_start).attr(
|
d3_nm
|
||||||
"marker-start",
|
.selectAll(".id_module_start_" + d.id_module_start)
|
||||||
function(d) {
|
.attr("marker-start", function(d) {
|
||||||
if (typeof module_color_status[data.status] == "undefined")
|
if (typeof module_color_status[data.status] == "undefined")
|
||||||
return "url(#interface_start)";
|
return "url(#interface_start)";
|
||||||
else return "url(#interface_start_" + data.status + ")";
|
else return "url(#interface_start_" + data.status + ")";
|
||||||
}
|
});
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1801,14 +1809,13 @@ function update_networkmap() {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: window.base_url_homedir + "/ajax.php",
|
url: window.base_url_homedir + "/ajax.php",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
d3.selectAll(".id_module_end_" + d.id_module_end).attr(
|
d3_nm
|
||||||
"marker-end",
|
.selectAll(".id_module_end_" + d.id_module_end)
|
||||||
function(d) {
|
.attr("marker-end", function(d) {
|
||||||
if (typeof module_color_status[data.status] == "undefined")
|
if (typeof module_color_status[data.status] == "undefined")
|
||||||
return "url(#interface_end)";
|
return "url(#interface_end)";
|
||||||
else return "url(#interface_end_" + data.status + ")";
|
else return "url(#interface_end_" + data.status + ")";
|
||||||
}
|
});
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1877,7 +1884,7 @@ function init_minimap() {
|
||||||
translation[0] = -(x * scale) / relation_min_nodes + width_svg / 2;
|
translation[0] = -(x * scale) / relation_min_nodes + width_svg / 2;
|
||||||
translation[1] = -(y * scale) / relation_min_nodes + height_svg / 2;
|
translation[1] = -(y * scale) / relation_min_nodes + height_svg / 2;
|
||||||
|
|
||||||
zoom(true);
|
zoom_networkmap(true);
|
||||||
|
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
|
@ -1932,7 +1939,7 @@ function init_minimap() {
|
||||||
translation[0] = -(x * scale) / relation_min_nodes + width_svg / 2;
|
translation[0] = -(x * scale) / relation_min_nodes + width_svg / 2;
|
||||||
translation[1] = -(y * scale) / relation_min_nodes + height_svg / 2;
|
translation[1] = -(y * scale) / relation_min_nodes + height_svg / 2;
|
||||||
|
|
||||||
zoom(true);
|
zoom_networkmap(true);
|
||||||
|
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
|
@ -1944,14 +1951,14 @@ function init_minimap() {
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
function show_menu(item, data) {
|
function show_menu(item, data) {
|
||||||
mouse = [];
|
mouse = [];
|
||||||
mouse[0] = d3.event.pageX;
|
mouse[0] = d3_nm.event.pageX;
|
||||||
mouse[1] = d3.event.pageY;
|
mouse[1] = d3_nm.event.pageY;
|
||||||
|
|
||||||
window.click_menu_position_svg = [d3.event.layerX, d3.event.layerY];
|
window.click_menu_position_svg = [d3_nm.event.layerX, d3_nm.event.layerY];
|
||||||
|
|
||||||
//stop showing browser menu
|
//stop showing browser menu
|
||||||
d3.event.preventDefault();
|
d3_nm.event.preventDefault();
|
||||||
d3.event.stopPropagation();
|
d3_nm.event.stopPropagation();
|
||||||
|
|
||||||
switch (item) {
|
switch (item) {
|
||||||
case "node":
|
case "node":
|
||||||
|
@ -1977,17 +1984,17 @@ function show_menu(item, data) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
callback: function(key, options) {
|
callback: function(key, options) {
|
||||||
var selection = d3.selectAll(".node_children");
|
var selection = d3_nm.selectAll(".node_children");
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id).classed(
|
d3_nm
|
||||||
"node_children",
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
false
|
.classed("node_children", false);
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
selection = d3.selectAll(".node_selected");
|
selection = d3_nm.selectAll(".node_selected");
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
.classed("node_selected", false)
|
.classed("node_selected", false)
|
||||||
.classed("node_children", true);
|
.classed("node_children", true);
|
||||||
});
|
});
|
||||||
|
@ -2000,17 +2007,17 @@ function show_menu(item, data) {
|
||||||
icon: "children",
|
icon: "children",
|
||||||
disabled: false,
|
disabled: false,
|
||||||
callback: function(key, options) {
|
callback: function(key, options) {
|
||||||
var selection = d3.selectAll(".node_children");
|
var selection = d3_nm.selectAll(".node_children");
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id).classed(
|
d3_nm
|
||||||
"node_children",
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
false
|
.classed("node_children", false);
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
selection = d3.selectAll(".node_selected");
|
selection = d3_nm.selectAll(".node_selected");
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
.classed("node_selected", false)
|
.classed("node_selected", false)
|
||||||
.classed("node_children", true);
|
.classed("node_children", true);
|
||||||
});
|
});
|
||||||
|
@ -2021,7 +2028,7 @@ function show_menu(item, data) {
|
||||||
|
|
||||||
if (flag_setting_interface_link_running) {
|
if (flag_setting_interface_link_running) {
|
||||||
if (
|
if (
|
||||||
d3
|
d3_nm
|
||||||
.select("#id_node_" + data.id + networkmap_id)
|
.select("#id_node_" + data.id + networkmap_id)
|
||||||
.attr("class")
|
.attr("class")
|
||||||
.search("node_children") == -1
|
.search("node_children") == -1
|
||||||
|
@ -2037,7 +2044,7 @@ function show_menu(item, data) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
callback: function(key, options) {
|
callback: function(key, options) {
|
||||||
var selection = d3.selectAll(".node_selected");
|
var selection = d3_nm.selectAll(".node_selected");
|
||||||
selection = selection[0];
|
selection = selection[0];
|
||||||
if (selection.length > 1) {
|
if (selection.length > 1) {
|
||||||
alert("Only one-one relations (one father, one son)");
|
alert("Only one-one relations (one father, one son)");
|
||||||
|
@ -2066,7 +2073,7 @@ function show_menu(item, data) {
|
||||||
|
|
||||||
if (flag_setting_relationship_running) {
|
if (flag_setting_relationship_running) {
|
||||||
if (
|
if (
|
||||||
d3
|
d3_nm
|
||||||
.select("#id_node_" + data.id + networkmap_id)
|
.select("#id_node_" + data.id + networkmap_id)
|
||||||
.attr("class")
|
.attr("class")
|
||||||
.search("node_children") == -1
|
.search("node_children") == -1
|
||||||
|
@ -2076,7 +2083,7 @@ function show_menu(item, data) {
|
||||||
icon: "set_parent",
|
icon: "set_parent",
|
||||||
disabled: false,
|
disabled: false,
|
||||||
callback: function(key, options) {
|
callback: function(key, options) {
|
||||||
var selection = d3.selectAll(".node_selected");
|
var selection = d3_nm.selectAll(".node_selected");
|
||||||
selection = selection[0];
|
selection = selection[0];
|
||||||
if (selection.length > 1) {
|
if (selection.length > 1) {
|
||||||
alert("Only one-one relations (one father, one son)");
|
alert("Only one-one relations (one father, one son)");
|
||||||
|
@ -2213,7 +2220,7 @@ function show_menu(item, data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_interface_link(data_parent) {
|
function add_interface_link(data_parent) {
|
||||||
var selection = d3.selectAll(".node_children");
|
var selection = d3_nm.selectAll(".node_children");
|
||||||
|
|
||||||
count = selection.size();
|
count = selection.size();
|
||||||
|
|
||||||
|
@ -2381,8 +2388,8 @@ function add_interface_link_js() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function refresh_holding_area() {
|
function refresh_holding_area() {
|
||||||
var holding_pos_x = d3.select("#holding_area_" + networkmap_id).attr("x");
|
var holding_pos_x = d3_nm.select("#holding_area_" + networkmap_id).attr("x");
|
||||||
var holding_pos_y = d3.select("#holding_area_" + networkmap_id).attr("y");
|
var holding_pos_y = d3_nm.select("#holding_area_" + networkmap_id).attr("y");
|
||||||
|
|
||||||
var pos_x = parseInt(holding_pos_x) + parseInt(node_radius);
|
var pos_x = parseInt(holding_pos_x) + parseInt(node_radius);
|
||||||
var pos_y = parseInt(holding_pos_y) + parseInt(node_radius);
|
var pos_y = parseInt(holding_pos_y) + parseInt(node_radius);
|
||||||
|
@ -2513,8 +2520,8 @@ function refresh_holding_area() {
|
||||||
|
|
||||||
function refresh() {
|
function refresh() {
|
||||||
$("#spinner_networkmap").css("display", "flex");
|
$("#spinner_networkmap").css("display", "flex");
|
||||||
var holding_pos_x = d3.select("#holding_area_" + networkmap_id).attr("x");
|
var holding_pos_x = d3_nm.select("#holding_area_" + networkmap_id).attr("x");
|
||||||
var holding_pos_y = d3.select("#holding_area_" + networkmap_id).attr("y");
|
var holding_pos_y = d3_nm.select("#holding_area_" + networkmap_id).attr("y");
|
||||||
|
|
||||||
var pos_x = parseInt(holding_pos_x) + parseInt(node_radius);
|
var pos_x = parseInt(holding_pos_x) + parseInt(node_radius);
|
||||||
var pos_y = parseInt(holding_pos_y) + parseInt(node_radius);
|
var pos_y = parseInt(holding_pos_y) + parseInt(node_radius);
|
||||||
|
@ -2747,7 +2754,7 @@ function reset_map_from_form(new_elements) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function set_parent(parent_data) {
|
function set_parent(parent_data) {
|
||||||
var selection = d3.selectAll(".node_children");
|
var selection = d3_nm.selectAll(".node_children");
|
||||||
|
|
||||||
var count = selection.size();
|
var count = selection.size();
|
||||||
|
|
||||||
|
@ -2853,10 +2860,11 @@ function set_parent(parent_data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function cancel_set_parent_interface() {
|
function cancel_set_parent_interface() {
|
||||||
var selection = d3.selectAll(".node_children");
|
var selection = d3_nm.selectAll(".node_children");
|
||||||
|
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
.classed("node_selected", true)
|
.classed("node_selected", true)
|
||||||
.classed("node_children", false);
|
.classed("node_children", false);
|
||||||
});
|
});
|
||||||
|
@ -2865,10 +2873,11 @@ function cancel_set_parent_interface() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function cancel_set_parent() {
|
function cancel_set_parent() {
|
||||||
var selection = d3.selectAll(".node_children");
|
var selection = d3_nm.selectAll(".node_children");
|
||||||
|
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
d3.select("#id_node_" + d.id + networkmap_id)
|
d3_nm
|
||||||
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
.classed("node_selected", true)
|
.classed("node_selected", true)
|
||||||
.classed("node_children", false);
|
.classed("node_children", false);
|
||||||
});
|
});
|
||||||
|
@ -2884,28 +2893,32 @@ function init_drag_and_drop() {
|
||||||
|
|
||||||
window.drag_start = [0, 0];
|
window.drag_start = [0, 0];
|
||||||
window.drag_end = [0, 0];
|
window.drag_end = [0, 0];
|
||||||
window.drag = d3.behavior
|
window.drag = d3_nm.behavior
|
||||||
.drag()
|
.drag()
|
||||||
.on("dragstart", function() {
|
.on("dragstart", function() {
|
||||||
if (d3.event.sourceEvent.button == 2) return;
|
if (d3_nm.event.sourceEvent.button == 2) return;
|
||||||
|
|
||||||
var mouse_coords = d3.mouse(this);
|
var mouse_coords = d3_nm.mouse(this);
|
||||||
drag_start[0] = drag_end[0] = mouse_coords[0];
|
drag_start[0] = drag_end[0] = mouse_coords[0];
|
||||||
drag_start[1] = drag_end[1] = mouse_coords[1];
|
drag_start[1] = drag_end[1] = mouse_coords[1];
|
||||||
|
|
||||||
flag_drag_running = true;
|
flag_drag_running = true;
|
||||||
|
|
||||||
d3.event.sourceEvent.stopPropagation();
|
d3_nm.event.sourceEvent.stopPropagation();
|
||||||
})
|
})
|
||||||
.on("dragend", function(d, i) {
|
.on("dragend", function(d, i) {
|
||||||
if (d3.event.sourceEvent.button == 2) return;
|
if (d3_nm.event.sourceEvent.button == 2) return;
|
||||||
|
|
||||||
flag_drag_running = false;
|
flag_drag_running = false;
|
||||||
|
|
||||||
var selection = d3.selectAll(".node_selected");
|
var selection = d3_nm.selectAll(".node_selected");
|
||||||
|
|
||||||
var holding_pos_x = d3.select("#holding_area_" + networkmap_id).attr("x");
|
var holding_pos_x = d3_nm
|
||||||
var holding_pos_y = d3.select("#holding_area_" + networkmap_id).attr("y");
|
.select("#holding_area_" + networkmap_id)
|
||||||
|
.attr("x");
|
||||||
|
var holding_pos_y = d3_nm
|
||||||
|
.select("#holding_area_" + networkmap_id)
|
||||||
|
.attr("y");
|
||||||
delete d.raw_text;
|
delete d.raw_text;
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
jQuery.ajax({
|
jQuery.ajax({
|
||||||
|
@ -2925,18 +2938,15 @@ function init_drag_and_drop() {
|
||||||
if (data["state"] == "") {
|
if (data["state"] == "") {
|
||||||
//Remove the style of nodes and links
|
//Remove the style of nodes and links
|
||||||
//in holding area
|
//in holding area
|
||||||
d3.select("#id_node_" + d.id + networkmap_id).classed(
|
d3_nm
|
||||||
"holding_area",
|
.select("#id_node_" + d.id + networkmap_id)
|
||||||
false
|
.classed("holding_area", false);
|
||||||
);
|
d3_nm
|
||||||
d3.select(".source_" + d.id + networkmap_id).classed(
|
.select(".source_" + d.id + networkmap_id)
|
||||||
"holding_area_link",
|
.classed("holding_area_link", false);
|
||||||
false
|
d3_nm
|
||||||
);
|
.select(".target_" + d.id + networkmap_id)
|
||||||
d3.select(".target_" + d.id + networkmap_id).classed(
|
.classed("holding_area_link", false);
|
||||||
"holding_area_link",
|
|
||||||
false
|
|
||||||
);
|
|
||||||
graph.nodes[d.id].state = "";
|
graph.nodes[d.id].state = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2944,12 +2954,12 @@ function init_drag_and_drop() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
d3.event.sourceEvent.stopPropagation();
|
d3_nm.event.sourceEvent.stopPropagation();
|
||||||
})
|
})
|
||||||
.on("drag", function(d, i) {
|
.on("drag", function(d, i) {
|
||||||
if (d3.event.sourceEvent.button == 2) return;
|
if (d3_nm.event.sourceEvent.button == 2) return;
|
||||||
|
|
||||||
var mouse_coords = d3.mouse(this);
|
var mouse_coords = d3_nm.mouse(this);
|
||||||
|
|
||||||
var delta = [0, 0];
|
var delta = [0, 0];
|
||||||
delta[0] = mouse_coords[0] - drag_end[0];
|
delta[0] = mouse_coords[0] - drag_end[0];
|
||||||
|
@ -2958,7 +2968,7 @@ function init_drag_and_drop() {
|
||||||
drag_end[0] = mouse_coords[0];
|
drag_end[0] = mouse_coords[0];
|
||||||
drag_end[1] = mouse_coords[1];
|
drag_end[1] = mouse_coords[1];
|
||||||
|
|
||||||
var selection = d3.selectAll(".node_selected");
|
var selection = d3_nm.selectAll(".node_selected");
|
||||||
|
|
||||||
selection.each(function(d) {
|
selection.each(function(d) {
|
||||||
// We search the position of this node in the array (index).
|
// We search the position of this node in the array (index).
|
||||||
|
@ -2973,7 +2983,7 @@ function init_drag_and_drop() {
|
||||||
draw_elements_graph();
|
draw_elements_graph();
|
||||||
set_positions_graph();
|
set_positions_graph();
|
||||||
|
|
||||||
d3.event.sourceEvent.stopPropagation();
|
d3_nm.event.sourceEvent.stopPropagation();
|
||||||
});
|
});
|
||||||
dragables.call(drag);
|
dragables.call(drag);
|
||||||
}
|
}
|
||||||
|
@ -3154,24 +3164,25 @@ function init_graph(parameter_object) {
|
||||||
var rect_center_y = graph.nodes[0].y;
|
var rect_center_y = graph.nodes[0].y;
|
||||||
|
|
||||||
//For to catch the keyevent for the ctrl key
|
//For to catch the keyevent for the ctrl key
|
||||||
d3.select(document)
|
d3_nm
|
||||||
|
.select(document)
|
||||||
.on("keydown", function() {
|
.on("keydown", function() {
|
||||||
if (d3.event.keyCode == key_multiple_selection) {
|
if (d3_nm.event.keyCode == key_multiple_selection) {
|
||||||
flag_multiple_selection = true;
|
flag_multiple_selection = true;
|
||||||
disabled_drag_zoom = true;
|
disabled_drag_zoom = true;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on("keyup", function() {
|
.on("keyup", function() {
|
||||||
if (d3.event.keyCode == key_multiple_selection) {
|
if (d3_nm.event.keyCode == key_multiple_selection) {
|
||||||
flag_multiple_selection = false;
|
flag_multiple_selection = false;
|
||||||
disabled_drag_zoom = false;
|
disabled_drag_zoom = false;
|
||||||
flag_multiple_selection_running = false;
|
flag_multiple_selection_running = false;
|
||||||
|
|
||||||
d3.select("#selection_rectangle").style("display", "none");
|
d3_nm.select("#selection_rectangle").style("display", "none");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
window.force = d3.layout
|
window.force = d3_nm.layout
|
||||||
.force()
|
.force()
|
||||||
.charge(10)
|
.charge(10)
|
||||||
.linkDistance(0)
|
.linkDistance(0)
|
||||||
|
@ -3187,32 +3198,33 @@ function init_graph(parameter_object) {
|
||||||
scale = z_dash;
|
scale = z_dash;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.zoom_obj = d3.behavior.zoom();
|
window.zoom_obj_nm = d3_nm.behavior.zoom();
|
||||||
zoom_obj
|
zoom_obj_nm
|
||||||
.scaleExtent([0.05, 1])
|
.scaleExtent([0.05, 1])
|
||||||
.on("zoom", zoom)
|
.on("zoom", zoom_networkmap)
|
||||||
.translate(translation)
|
.translate(translation)
|
||||||
.scale(scale);
|
.scale(scale);
|
||||||
|
|
||||||
window.svg = d3
|
window.svg = d3_nm
|
||||||
.select("#networkconsole_" + networkmap_id)
|
.select("#networkconsole_" + networkmap_id)
|
||||||
.append("svg")
|
.append("svg")
|
||||||
.attr("id", "dinamic_networkmap_svg_" + networkmap_id)
|
.attr("id", "dinamic_networkmap_svg_" + networkmap_id)
|
||||||
.attr("width", width_svg)
|
.attr("width", width_svg)
|
||||||
.attr("height", height_svg)
|
.attr("height", height_svg)
|
||||||
.call(zoom_obj)
|
.call(zoom_obj_nm)
|
||||||
.on("mousedown", function() {
|
.on("mousedown", function() {
|
||||||
if (flag_multiple_selection) {
|
if (flag_multiple_selection) {
|
||||||
flag_multiple_selection_running = true;
|
flag_multiple_selection_running = true;
|
||||||
|
|
||||||
mouse_coords = d3.mouse(this);
|
mouse_coords = d3_nm.mouse(this);
|
||||||
|
|
||||||
selection_rectangle[0] = mouse_coords[0];
|
selection_rectangle[0] = mouse_coords[0];
|
||||||
selection_rectangle[1] = mouse_coords[1];
|
selection_rectangle[1] = mouse_coords[1];
|
||||||
selection_rectangle[2] = mouse_coords[0];
|
selection_rectangle[2] = mouse_coords[0];
|
||||||
selection_rectangle[3] = mouse_coords[1];
|
selection_rectangle[3] = mouse_coords[1];
|
||||||
|
|
||||||
d3.select("#selection_rectangle")
|
d3_nm
|
||||||
|
.select("#selection_rectangle")
|
||||||
.style("display", "")
|
.style("display", "")
|
||||||
.attr("x", selection_rectangle[0])
|
.attr("x", selection_rectangle[0])
|
||||||
.attr("y", selection_rectangle[1])
|
.attr("y", selection_rectangle[1])
|
||||||
|
@ -3224,11 +3236,11 @@ function init_graph(parameter_object) {
|
||||||
})
|
})
|
||||||
.on("mouseup", function() {
|
.on("mouseup", function() {
|
||||||
flag_multiple_selection_running = false;
|
flag_multiple_selection_running = false;
|
||||||
d3.select("#selection_rectangle").style("display", "none");
|
d3_nm.select("#selection_rectangle").style("display", "none");
|
||||||
})
|
})
|
||||||
.on("mousemove", function() {
|
.on("mousemove", function() {
|
||||||
if (flag_multiple_selection_running) {
|
if (flag_multiple_selection_running) {
|
||||||
mouse_coords = d3.mouse(this);
|
mouse_coords = d3_nm.mouse(this);
|
||||||
|
|
||||||
selection_rectangle[2] = mouse_coords[0];
|
selection_rectangle[2] = mouse_coords[0];
|
||||||
selection_rectangle[3] = mouse_coords[1];
|
selection_rectangle[3] = mouse_coords[1];
|
||||||
|
@ -3247,7 +3259,8 @@ function init_graph(parameter_object) {
|
||||||
height = selection_rectangle[1] - selection_rectangle[3];
|
height = selection_rectangle[1] - selection_rectangle[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
d3.select("#selection_rectangle")
|
d3_nm
|
||||||
|
.select("#selection_rectangle")
|
||||||
.attr("x", x)
|
.attr("x", x)
|
||||||
.attr("y", y)
|
.attr("y", y)
|
||||||
.attr("width", width)
|
.attr("width", width)
|
||||||
|
@ -3258,24 +3271,23 @@ function init_graph(parameter_object) {
|
||||||
sel_rec_y1 = y;
|
sel_rec_y1 = y;
|
||||||
sel_rec_y2 = y + height;
|
sel_rec_y2 = y + height;
|
||||||
|
|
||||||
d3.selectAll(".node").each(function(data, i) {
|
d3_nm.selectAll(".node").each(function(data, i) {
|
||||||
item_x1 = (data.x - node_radius / 2) * scale + translation[0];
|
item_x1 = (data.x - node_radius / 2) * scale + translation[0];
|
||||||
item_x2 = (data.x + node_radius / 2) * scale + translation[0];
|
item_x2 = (data.x + node_radius / 2) * scale + translation[0];
|
||||||
item_y1 = (data.y - node_radius / 2) * scale + translation[1];
|
item_y1 = (data.y - node_radius / 2) * scale + translation[1];
|
||||||
item_y2 = (data.y + node_radius / 2) * scale + translation[1];
|
item_y2 = (data.y + node_radius / 2) * scale + translation[1];
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!d3.select(this).classed("node_selected") &&
|
!d3_nm.select(this).classed("node_selected") &&
|
||||||
// inner circle inside selection frame
|
// inner circle inside selection frame
|
||||||
item_x1 >= sel_rec_x1 &&
|
item_x1 >= sel_rec_x1 &&
|
||||||
item_x2 <= sel_rec_x2 &&
|
item_x2 <= sel_rec_x2 &&
|
||||||
item_y1 >= sel_rec_y1 &&
|
item_y1 >= sel_rec_y1 &&
|
||||||
item_y1 <= sel_rec_y2
|
item_y1 <= sel_rec_y2
|
||||||
) {
|
) {
|
||||||
d3.select("#id_node_" + data.id + networkmap_id).classed(
|
d3_nm
|
||||||
"node_selected",
|
.select("#id_node_" + data.id + networkmap_id)
|
||||||
true
|
.classed("node_selected", true);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -3485,7 +3497,7 @@ function init_graph(parameter_object) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function myMouseoverCircleFunction(node_id) {
|
function myMouseoverCircleFunction(node_id) {
|
||||||
var circle = d3.select("#id_node_" + node_id + networkmap_id + " circle");
|
var circle = d3_nm.select("#id_node_" + node_id + networkmap_id + " circle");
|
||||||
|
|
||||||
over = circle.classed("node_over");
|
over = circle.classed("node_over");
|
||||||
|
|
||||||
|
@ -3499,7 +3511,7 @@ function myMouseoverCircleFunction(node_id) {
|
||||||
.attr("r", node_radius + 10);
|
.attr("r", node_radius + 10);
|
||||||
}
|
}
|
||||||
function myMouseoutCircleFunction(node_id) {
|
function myMouseoutCircleFunction(node_id) {
|
||||||
var circle = d3.select("#id_node_" + node_id + networkmap_id + " circle");
|
var circle = d3_nm.select("#id_node_" + node_id + networkmap_id + " circle");
|
||||||
|
|
||||||
over = circle.classed("node_over");
|
over = circle.classed("node_over");
|
||||||
|
|
||||||
|
@ -3514,7 +3526,7 @@ function myMouseoutCircleFunction(node_id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function myMouseoverSquareFunction(node_id) {
|
function myMouseoverSquareFunction(node_id) {
|
||||||
var square = d3.select("#id_node_" + node_id + networkmap_id + " rect");
|
var square = d3_nm.select("#id_node_" + node_id + networkmap_id + " rect");
|
||||||
|
|
||||||
over = square.classed("node_over");
|
over = square.classed("node_over");
|
||||||
|
|
||||||
|
@ -3530,7 +3542,7 @@ function myMouseoverSquareFunction(node_id) {
|
||||||
.attr("transform", "translate(" + -5 + "," + -5 + ")");
|
.attr("transform", "translate(" + -5 + "," + -5 + ")");
|
||||||
}
|
}
|
||||||
function myMouseoutSquareFunction(node_id) {
|
function myMouseoutSquareFunction(node_id) {
|
||||||
var square = d3.select("#id_node_" + node_id + networkmap_id + " rect");
|
var square = d3_nm.select("#id_node_" + node_id + networkmap_id + " rect");
|
||||||
|
|
||||||
over = square.classed("node_over");
|
over = square.classed("node_over");
|
||||||
|
|
||||||
|
@ -3547,7 +3559,7 @@ function myMouseoutSquareFunction(node_id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function myMouseoverRhombusFunction(node_id) {
|
function myMouseoverRhombusFunction(node_id) {
|
||||||
var rhombus = d3.select("#id_node_" + node_id + networkmap_id + " rect");
|
var rhombus = d3_nm.select("#id_node_" + node_id + networkmap_id + " rect");
|
||||||
|
|
||||||
over = rhombus.classed("node_over");
|
over = rhombus.classed("node_over");
|
||||||
|
|
||||||
|
@ -3562,7 +3574,7 @@ function myMouseoverRhombusFunction(node_id) {
|
||||||
.attr("height", node_radius * 1.5 + 10);
|
.attr("height", node_radius * 1.5 + 10);
|
||||||
}
|
}
|
||||||
function myMouseoutRhombusFunction(node_id) {
|
function myMouseoutRhombusFunction(node_id) {
|
||||||
var rhombus = d3.select("#id_node_" + node_id + networkmap_id + " rect");
|
var rhombus = d3_nm.select("#id_node_" + node_id + networkmap_id + " rect");
|
||||||
|
|
||||||
over = rhombus.classed("node_over");
|
over = rhombus.classed("node_over");
|
||||||
|
|
||||||
|
@ -3694,10 +3706,10 @@ function draw_elements_graph() {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on("mouseover", function(d) {
|
.on("mouseover", function(d) {
|
||||||
d3.select(this).classed("link_over", true);
|
d3_nm.select(this).classed("link_over", true);
|
||||||
})
|
})
|
||||||
.on("mouseout", function(d) {
|
.on("mouseout", function(d) {
|
||||||
d3.select(this).classed("link_over", false);
|
d3_nm.select(this).classed("link_over", false);
|
||||||
});
|
});
|
||||||
|
|
||||||
//Add the reverse line for the end marker, it is invisible
|
//Add the reverse line for the end marker, it is invisible
|
||||||
|
|
Loading…
Reference in New Issue