Github user mcgilman commented on a diff in the pull request: https://github.com/apache/nifi/pull/2471#discussion_r169394276 --- Diff: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js --- @@ -996,34 +1030,42 @@ zoomed = true; } - // see if the scale has changed during this zoom event, - // we want to only transition when zooming in/out as running - // the transitions during pan events is - var transition = d3.event.sourceEvent.type === 'wheel' || d3.event.sourceEvent.type === 'mousewheel'; - // refresh the canvas refreshed = nfCanvas.View.refresh({ persist: false, - transition: transition, + transition: shouldTransition(d3.event.sourceEvent), refreshComponents: false, refreshBirdseye: false }); }) - .on('zoomend', function () { - // ensure the canvas was actually refreshed - if (nfCommon.isDefinedAndNotNull(refreshed)) { - nfGraph.updateVisibility(); - - // refresh the birdseye - refreshed.done(function () { - nfBirdseye.refresh(); - }); + .on('end', function () { + if (!isBirdseyeEvent(d3.event.sourceEvent)) { + // ensure the canvas was actually refreshed + if (nfCommon.isDefinedAndNotNull(refreshed)) { + nfGraph.updateVisibility(); + + // refresh the birdseye + refreshed.done(function () { + nfBirdseye.refresh(); + }); - // persist the users view - nfCanvasUtils.persistUserView(); + // persist the users view + nfCanvasUtils.persistUserView(); - // reset the refreshed deferred - refreshed = null; + // reset the refreshed deferred + refreshed = null; + } + + if (panning === false) { + // deselect as necessary if we are not panning + nfCanvasUtils.getSelection().classed('selected', false); + + // update URL deep linking params + nfCanvasUtils.setURLParameters(); + + // inform Angular app values have changed + nfNgBridge.digest(); --- End diff -- Which part? The .digest() was necessary to address @andrewmlim comments.
---