GUI -- Augmented pan/zoom & select/drag integration by having a toggle button for whether meta needs to be pressed for panning (default) or selecting.
- multi-select requires the shift key to be held down.
- Also re-wired deselectAll() to the ESC key, instead of click on background.
Change-Id: I63502839368c6ca10c64ee583a58f836576c4546
diff --git a/web/gui/src/main/webapp/d3Utils.js b/web/gui/src/main/webapp/d3Utils.js
index e647a37..90b3032 100644
--- a/web/gui/src/main/webapp/d3Utils.js
+++ b/web/gui/src/main/webapp/d3Utils.js
@@ -37,6 +37,9 @@
if (!$.isFunction(atDragEnd)) {
alert('d3util.createDragBehavior(): atDragEnd is not a function')
}
+ if (!$.isFunction(requireMeta)) {
+ alert('d3util.createDragBehavior(): requireMeta is not a function')
+ }
function dragged(d) {
var threshold = draggedThreshold(force.alpha()),
@@ -51,7 +54,7 @@
drag = d3.behavior.drag()
.origin(function(d) { return d; })
.on('dragstart', function(d) {
- if (requireMeta ^ !d3.event.sourceEvent.metaKey) {
+ if (requireMeta() ^ !d3.event.sourceEvent.metaKey) {
d3.event.sourceEvent.stopPropagation();
d.oldX = d.x;
@@ -62,7 +65,7 @@
}
})
.on('drag', function(d) {
- if (requireMeta ^ !d3.event.sourceEvent.metaKey) {
+ if (requireMeta() ^ !d3.event.sourceEvent.metaKey) {
d.px = d3.event.x;
d.py = d3.event.y;
if (dragged(d)) {