This is an automated email from the ASF dual-hosted git repository.

mcgilman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/master by this push:
     new 160ade9  NIFI-5018 - Added snap alignment for nf-label, label resize 
events, and nf-connection - Shift key now disables snap alignment during the 
drag event. - nf-connection load-balance-icon updated
160ade9 is described below

commit 160ade9f9d3588d8afb053360e58fd189475ab75
Author: Ryan Bower <[email protected]>
AuthorDate: Mon Feb 25 13:47:16 2019 -0700

    NIFI-5018
    - Added snap alignment for nf-label, label resize events, and nf-connection
    - Shift key now disables snap alignment during the drag event.
    - nf-connection load-balance-icon updated
    
    This closes #3335
---
 .../nifi-web-ui/src/main/webapp/css/graph.css       |  4 ++--
 .../src/main/webapp/js/nf/canvas/nf-connection.js   | 21 ++++++++++++++-------
 .../src/main/webapp/js/nf/canvas/nf-draggable.js    | 19 +++++++++++--------
 .../src/main/webapp/js/nf/canvas/nf-label.js        | 18 +++++++++++++-----
 .../src/main/webapp/js/nf/canvas/nf-port.js         |  4 ++--
 .../main/webapp/js/nf/canvas/nf-process-group.js    |  4 ++--
 .../src/main/webapp/js/nf/canvas/nf-processor.js    |  4 ++--
 .../webapp/js/nf/canvas/nf-remote-process-group.js  |  6 +++---
 8 files changed, 49 insertions(+), 31 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/graph.css
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/graph.css
index 8b1717b..8b01794 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/graph.css
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/graph.css
@@ -332,11 +332,11 @@ text.load-balance-icon-active {
 }
 
 text.load-balance-icon-184 {
-    transform-origin: 189px 10px 0;
+    transform-origin: 197px 10px 0;
 }
 
 text.load-balance-icon-200 {
-    transform-origin: 205px 10px 0;
+    transform-origin: 213px 10px 0;
 }
 
 text.connection-from-run-status.is-missing-port, 
text.connection-to-run-status.is-missing-port {
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-connection.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-connection.js
index e6d7b7d..f4b333c 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-connection.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-connection.js
@@ -60,12 +60,18 @@
 
     // the dimensions for the connection label
     var dimensions = {
-        width: 216
+        width: 224
     };
 
     // width of a backpressure indicator - half of width, left/right padding, 
left/right border
     var backpressureBarWidth = (dimensions.width / 2) - 15 - 2;
 
+    // --------------------------
+    // Snap alignment for drag events
+    // --------------------------
+    var snapAlignmentPixels = 8;
+    var snapEnabled = true;
+
     /**
      * Gets the position of the label for the specified connection.
      *
@@ -896,7 +902,7 @@
                                 connectionFrom.append('text')
                                     .attrs({
                                         'class': 'connection-from-run-status',
-                                        'x': 200,
+                                        'x': 208,
                                         'y': 14
                                     });
                             } else {
@@ -1005,7 +1011,7 @@
                                 connectionTo.append('text')
                                     .attrs({
                                         'class': 'connection-to-run-status',
-                                        'x': 200,
+                                        'x': 208,
                                         'y': 14
                                     });
                             } else {
@@ -1221,7 +1227,7 @@
                         queued.append('text')
                             .attrs({
                                 'class': 'expiration-icon',
-                                'x': 200,
+                                'x': 208,
                                 'y': 14
                             })
                             .text(function () {
@@ -1381,7 +1387,7 @@
                             return d.permissions.canRead && 
!isExpirationConfigured(d.component);
 
                         }).attr('x', function() {
-                            return d.permissions.canRead && 
isExpirationConfigured(d.component) ? 184 : 200;
+                            return d.permissions.canRead && 
isExpirationConfigured(d.component) ? 192 : 208;
 
                         }).select('title').text(function () {
                             if (d.permissions.canRead) {
@@ -1678,8 +1684,9 @@
                     d3.event.sourceEvent.stopPropagation();
                 })
                 .on('drag', function (d) {
-                    d.x = d3.event.x;
-                    d.y = d3.event.y;
+                    snapEnabled = !d3.event.sourceEvent.shiftKey;
+                    d.x = snapEnabled ? 
(Math.round(d3.event.x/snapAlignmentPixels) * snapAlignmentPixels) : d3.event.x;
+                    d.y = snapEnabled ? 
(Math.round(d3.event.y/snapAlignmentPixels) * snapAlignmentPixels) : d3.event.y;
 
                     // redraw this connection
                     d3.select(this.parentNode).call(updateConnections, {
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-draggable.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-draggable.js
index 95869e6..3c67f6e 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-draggable.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-draggable.js
@@ -61,6 +61,8 @@
 
     var nfCanvas;
     var drag;
+    var snapAlignmentPixels = 8;
+    var snapEnabled = true;
 
     /**
      * Updates the positioning of all selected components.
@@ -213,15 +215,16 @@
                             });
                     } else {
                         // update the position of the drag selection
+                        // snap align the position unless the user is holding 
shift
+                        snapEnabled = !d3.event.sourceEvent.shiftKey;
                         dragSelection.attr('x', function (d) {
                             d.x += d3.event.dx;
-                            return d.x;
-                        })
-                            .attr('y', function (d) {
+                            return snapEnabled ? 
(Math.round(d.x/snapAlignmentPixels) * snapAlignmentPixels) : d.x;
+                        }).attr('y', function (d) {
                                 d.y += d3.event.dy;
-                                return d.y;
-                            });
-                    }
+                                return snapEnabled ? 
(Math.round(d.y/snapAlignmentPixels) * snapAlignmentPixels) : d.y;
+                        });
+                     }
                 })
                 .on('end', function () {
                     // stop further propagation
@@ -260,8 +263,8 @@
          */
         updateComponentPosition: function (d, delta) {
             var newPosition = {
-                'x': d.position.x + delta.x,
-                'y': d.position.y + delta.y
+                'x': snapEnabled ? (Math.round((d.position.x + 
delta.x)/snapAlignmentPixels) * snapAlignmentPixels) : d.position.x + delta.x,
+                'y': snapEnabled ? (Math.round((d.position.y + 
delta.y)/snapAlignmentPixels) * snapAlignmentPixels) : d.position.y + delta.y
             };
 
             // build the entity
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-label.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-label.js
index d5618ae..3621780 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-label.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-label.js
@@ -54,11 +54,11 @@
     var nfContextMenu;
 
     var dimensions = {
-        width: 150,
-        height: 150
+        width: 148,
+        height: 148
     };
 
-    var MIN_HEIGHT = 20;
+    var MIN_HEIGHT = 24;
     var MIN_WIDTH = 64;
 
     // -----------------------------
@@ -87,6 +87,12 @@
     var labelPointDrag;
 
     // --------------------------
+    // Snap alignment for label resizing
+    // --------------------------
+    var snapAlignmentPixels = 8;
+    var snapEnabled = true;
+
+    // --------------------------
     // privately scoped functions
     // --------------------------
 
@@ -351,8 +357,10 @@
                     var labelData = label.datum();
 
                     // update the dimensions and ensure they are still within 
bounds
-                    labelData.dimensions.width = Math.max(MIN_WIDTH, 
d3.event.x);
-                    labelData.dimensions.height = Math.max(MIN_HEIGHT, 
d3.event.y);
+                    // snap between aligned sizes unless the user is holding 
shift
+                    snapEnabled = !d3.event.sourceEvent.shiftKey;
+                    labelData.dimensions.width = Math.max(MIN_WIDTH, 
snapEnabled ? (Math.round(d3.event.x/snapAlignmentPixels) * 
snapAlignmentPixels) : d3.event.x);
+                    labelData.dimensions.height = Math.max(MIN_HEIGHT, 
snapEnabled ? (Math.round(d3.event.y/snapAlignmentPixels) * 
snapAlignmentPixels) : d3.event.y);
 
                     // redraw this connection
                     updateLabels(label);
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-port.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-port.js
index c43cbf7..a921766 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-port.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-port.js
@@ -55,11 +55,11 @@
 
     var portDimensions = {
         width: 240,
-        height: 50
+        height: 48
     };
     var remotePortDimensions = {
         width: 240,
-        height: 75
+        height: 80
     };
 
     // ----------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-process-group.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-process-group.js
index 90982f6..2e82430 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-process-group.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-process-group.js
@@ -58,8 +58,8 @@
     var PREVIEW_NAME_LENGTH = 30;
 
     var dimensions = {
-        width: 380,
-        height: 172
+        width: 384,
+        height: 176
     };
 
     // ----------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-processor.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-processor.js
index 751caac..5667928 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-processor.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-processor.js
@@ -57,8 +57,8 @@
 
     // default dimensions for each type of component
     var dimensions = {
-        width: 350,
-        height: 130
+        width: 352,
+        height: 128
     };
 
     // ---------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-remote-process-group.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-remote-process-group.js
index e89a6e1..7d10947 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-remote-process-group.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-remote-process-group.js
@@ -56,8 +56,8 @@
     var PREVIEW_NAME_LENGTH = 30;
 
     var dimensions = {
-        width: 380,
-        height: 158
+        width: 384,
+        height: 176
     };
 
     // --------------------------------------------
@@ -433,7 +433,7 @@
                     details.append('text')
                         .attrs({
                             'x': 10,
-                            'y': 150,
+                            'y': 168,
                             'class': 'remote-process-group-last-refresh'
                         });
 

Reply via email to