← Back to team overview

yellow team mailing list archive

[Merge] lp:~makyo/juju-gui/bad-drag into lp:juju-gui

 

Matthew Scott has proposed merging lp:~makyo/juju-gui/bad-drag into lp:juju-gui.

Requested reviews:
  Juju GUI Hackers (juju-gui)

For more details, see:
https://code.launchpad.net/~makyo/juju-gui/bad-drag/+merge/130424

Fix for rounding error on drag-relation.

New service blocks have integer x/y coordinates, leading to mouseenter failing at the d.containsPoint() test when one of the mouse coordinates matched exactly with one of the edges of the service block.  To reproduce, create two new services (say varnish and node-app) and, without navigating away from the environment view, drag them to be diagonal relative to each other, then try to drag a relation from one to the other through the corner of the service node.  Correct behavior (this branch) should be for the drag line to snap to the two nearest connectors (as opposed to passing through the service without recognizing that it had entered).

https://codereview.appspot.com/6741047/

-- 
https://code.launchpad.net/~makyo/juju-gui/bad-drag/+merge/130424
Your team Juju GUI Hackers is requested to review the proposed merge of lp:~makyo/juju-gui/bad-drag into lp:juju-gui.
=== modified file 'app/views/utils.js'
--- app/views/utils.js	2012-10-15 03:22:43 +0000
+++ app/views/utils.js	2012-10-18 20:24:23 +0000
@@ -619,10 +619,10 @@
         translate: function() { return [0, 0]; }
       };
       var s = transform.scale(), tr = transform.translate();
-      if (point[0] > this.x * s + tr[0] &&
-          point[0] < this.x * s + this.w * s + tr[0] &&
-          point[1] > this.y * s + tr[1] &&
-          point[1] < this.y * s + this.h * s + tr[1]) {
+      if (point[0] >= this.x * s + tr[0] &&
+          point[0] <= this.x * s + this.w * s + tr[0] &&
+          point[1] >= this.y * s + tr[1] &&
+          point[1] <= this.y * s + this.h * s + tr[1]) {
         return true;
       }
       return false;


Follow ups