X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=static%2FTopologyComposer%2Fjs%2Fgraph_editor.js;h=2d9218b3f3d9b6e6138edf55507530bb026300f2;hb=5b56a292d9d897b3a67b2e3ebe980ae2566a6186;hp=ff4a21f8fbb3ba301155581ecff24a9a8255b5e3;hpb=0dc79eb941c0222f6d53d27fb2bca839bd60780d;p=osm%2FLW-UI.git diff --git a/static/TopologyComposer/js/graph_editor.js b/static/TopologyComposer/js/graph_editor.js index ff4a21f..2d9218b 100755 --- a/static/TopologyComposer/js/graph_editor.js +++ b/static/TopologyComposer/js/graph_editor.js @@ -137,11 +137,11 @@ TCD3.GraphEditor = (function () { //d3.event.preventDefault(); if (self.lastKeyDown !== -1) return; self.lastKeyDown = d3.event.keyCode; - if (self.lastKeyDown === CANC_BUTTON && self._selected_node !== undefined) { - self.removeNode(self._selected_node, null, showAlert); - } else if (self.lastKeyDown === CANC_BUTTON && self._selected_link !== undefined) { - self.removeLink(self._selected_link, null, showAlert); - } + // if (self.lastKeyDown === CANC_BUTTON && self._selected_node !== undefined) { + // self.removeNode(self._selected_node, null, showAlert); + // } else if (self.lastKeyDown === CANC_BUTTON && self._selected_link !== undefined) { + // self.removeLink(self._selected_link, null, showAlert); + // } }) .on('keyup', function () { @@ -347,7 +347,7 @@ TCD3.GraphEditor = (function () { * @returns {boolean} */ GraphEditor.prototype.addLink = function (link) { - console.log("addLink" + JSON.stringify(link)); + if (link.source && link.target) { this.force.stop(); this.cleanAll(); @@ -396,12 +396,13 @@ TCD3.GraphEditor = (function () { //log(data) var self = this; - this.link = this.svg + var link = this.svg .selectAll() .data(self.d3_graph.links .filter(this.link_filter_cb) - ) - .enter().append("g") + ); + link.exit().remove(); + this.link = link.enter().append("g") .attr("class", "link cleanable") .append("path") .attr("class", "link") @@ -418,24 +419,26 @@ TCD3.GraphEditor = (function () { return (d.directed_edge ? "url(#" + marker_url + ")" : ''); }); - this.nodeContainer = this.svg + var nodeContainer = this.svg .selectAll() .data(self.d3_graph.nodes - .filter(this.node_filter_cb)) - .enter() + .filter(this.node_filter_cb)); + nodeContainer.exit().remove(); + nodeContainer.enter() .append("g") // .attr("class", "nodosdads") .attr("class", "node cleanable"); - this.svg.selectAll('.node') + var nodes_symbols = this.svg.selectAll('.node') .data(self.d3_graph.nodes .filter(this.node_filter_cb)) .filter(function (d) { return (d.info.type === undefined) || (self._node_property_by_type(d.info.type, 'image', d) === undefined) - }) + }); + nodes_symbols.exit().remove(); - .append("svg:path") + nodes_symbols.append("svg:path") .attr("d", d3.symbol() .size(function (d) { return Math.PI * Math.pow(self._node_property_by_type(d.info.type, 'size', d), 2) / 4; @@ -471,7 +474,7 @@ TCD3.GraphEditor = (function () { .filter(function (d) { return self._node_property_by_type(d.info.type, 'image', d) != undefined }); - + figure_node.exit().remove(); figure_node.append("svg:image") .attr("xlink:href", function (d) { return self._node_property_by_type(d.info.type, 'image', d)