summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiteshjha2016-07-01 14:57:34 +0530
committerjiteshjha2016-07-01 14:57:34 +0530
commit70d9b7620906d737ca3fee807911d80a4be9732a (patch)
treef831b85bb61688c3a355477b8c9227f0bb1f6a60
parent466470bee792cfd8c135e1c15937866e19e08ddf (diff)
downloadxcos-on-web-70d9b7620906d737ca3fee807911d80a4be9732a.tar.gz
xcos-on-web-70d9b7620906d737ca3fee807911d80a4be9732a.tar.bz2
xcos-on-web-70d9b7620906d737ca3fee807911d80a4be9732a.zip
Fixed delete->undo bug
-rw-r--r--index.html40
1 files changed, 31 insertions, 9 deletions
diff --git a/index.html b/index.html
index 18b7079..4b52778 100644
--- a/index.html
+++ b/index.html
@@ -732,23 +732,45 @@
}
if(tempEdgeObject.source.parent.name == "SPLIT_f") {
if(tempEdgeObject.source == tempEdgeObject.source.parent.getChildAt(1)) {
+
var sourceEdge = tempEdgeObject.source.parent.getChildAt(0).getEdgeAt(0);
var target = tempEdgeObject.source.parent.getChildAt(2).getEdgeAt(0).target;
- graph.getModel().setTerminal(sourceEdge, target, false);
+ if(graph.view.getState(sourceEdge) != null) {
+ var waypoints1 = graph.view.getState(sourceEdge).absolutePoints;
+ var waypoints2 = graph.view.getState(tempEdgeObject.source.parent.getChildAt(2).getEdgeAt(0)).absolutePoints;
+ waypoints2.shift();
+ for(i in waypoints2) {
+ waypoints1.push(waypoints2[i]);
+ }
+ var geometry = graph.getModel().getGeometry(sourceEdge);
+ var cloneGeometry = geometry.clone();
+
+ cloneGeometry.points = waypoints1;
+ graph.getModel().setGeometry(sourceEdge, cloneGeometry);
+ graph.refresh();
+ graph.getModel().setTerminal(sourceEdge, target, false);
+ }
cells.push(tempEdgeObject.source.parent);
}
else {
var sourceEdge = tempEdgeObject.source.parent.getChildAt(0).getEdgeAt(0);
var target = tempEdgeObject.source.parent.getChildAt(1).getEdgeAt(0).target;
- var waypoints1 = graph.view.getState(sourceEdge).absolutePoints;
- var waypoints2 = graph.view.getState(tempEdgeObject.source.parent.getChildAt(1).getEdgeAt(0)).absolutePoints;
- waypoints1.pop();
- waypoints2.shift()
- for(i in waypoints2) {
- waypoints1.push(waypoints2[i]);
+ if(graph.view.getState(sourceEdge) != null) {
+ var waypoints1 = graph.view.getState(sourceEdge).absolutePoints;
+ var waypoints2 = graph.view.getState(tempEdgeObject.source.parent.getChildAt(1).getEdgeAt(0)).absolutePoints;
+ waypoints1.pop();
+ waypoints2.shift();
+ for(i in waypoints2) {
+ waypoints1.push(waypoints2[i]);
+ }
+ var geometry = graph.getModel().getGeometry(sourceEdge);
+ var cloneGeometry = geometry.clone();
+
+ cloneGeometry.points = waypoints1;
+ graph.getModel().setGeometry(sourceEdge, cloneGeometry);
+ graph.refresh();
+ graph.getModel().setTerminal(sourceEdge, target, false);
}
- graph.getModel().setTerminal(sourceEdge, target, false);
- sourceEdge.getGeometry().points = waypoints1;
cells.push(tempEdgeObject.source.parent);
}