MCPcopy
hub / github.com/jipegit/OSXAuditor / dragstart

Function dragstart

d3-3.2.8/d3.js:1115–1148  ·  view source on GitHub ↗
(id, position, move, end)

Source from the content-addressed store, hash-verified

1113 })[0];
1114 }
1115 function dragstart(id, position, move, end) {
1116 return function() {
1117 var target = this, parent = target.parentNode, event_ = event.of(target, arguments), eventTarget = d3.event.target, eventId = id(), drag = eventId == null ? "drag" : "drag-" + eventId, origin_ = position(parent, eventId), dragged = 0, offset, w = d3.select(d3_window).on(move + "." + drag, moved).on(end + "." + drag, ended), dragRestore = d3_event_dragSuppress();
1118 if (origin) {
1119 offset = origin.apply(target, arguments);
1120 offset = [ offset.x - origin_[0], offset.y - origin_[1] ];
1121 } else {
1122 offset = [ 0, 0 ];
1123 }
1124 event_({
1125 type: "dragstart"
1126 });
1127 function moved() {
1128 if (!parent) return ended();
1129 var p = position(parent, eventId), dx = p[0] - origin_[0], dy = p[1] - origin_[1];
1130 dragged |= dx | dy;
1131 origin_ = p;
1132 event_({
1133 type: "drag",
1134 x: p[0] + offset[0],
1135 y: p[1] + offset[1],
1136 dx: dx,
1137 dy: dy
1138 });
1139 }
1140 function ended() {
1141 w.on(move + "." + drag, null).on(end + "." + drag, null);
1142 dragRestore(dragged && d3.event.target === eventTarget);
1143 event_({
1144 type: "dragend"
1145 });
1146 }
1147 };
1148 }
1149 drag.origin = function(x) {
1150 if (!arguments.length) return origin;
1151 origin = x;

Callers 1

d3.jsFile · 0.85

Calls 2

positionFunction · 0.85
d3_event_dragSuppressFunction · 0.85

Tested by

no test coverage detected