function dragMoveListener(event) {
  var target = event.target,
    // Keep the dragged position in the data-x/data-y attributes
    x = (parseFloat(target.getAttribute("data-x")) || 0) + event.dx,
    y = (parseFloat(target.getAttribute("data-y")) || 0) + event.dy;

  // Translate the element
  target.style.webkitTransform = target.style.transform =
    "translate(" + x + "px, " + y + "px)";

  // Update the position attributes
  target.setAttribute("data-x", x);
  target.setAttribute("data-y", y);
}
/**
 * dragMoveListener - Moves objects after being dragged.
 * {@link http://interactjs.io/}
 * all functionality comes from the homepage docs which are on Github and the website.
 * {@link https://github.com/interactjs/website/blob/495c1ba58de79089eb4998bad884c219fe475ebd/demos/dragging.html}
 */
Moves objects after being dragged.
Moves objects after being dragged .
function dragMoveListener(event) {
  var target = event.target,
    x = (parseFloat(target.getAttribute("data-x")) || 0) + event.dx,
    y = (parseFloat(target.getAttribute("data-y")) || 0) + event.dy;
  target.style.webkitTransform = target.style.transform =
    "translate(" + x + "px, " + y + "px)";
  target.setAttribute("data-x", x);
  target.setAttribute("data-y", y);
}
function dragMoveListener ( event ) { var target = event . target , x = ( parseFloat ( target . getAttribute ( "data-x" ) ) || 0 ) + event . dx , y = ( parseFloat ( target . getAttribute ( "data-y" ) ) || 0 ) + event . dy ; target . style . webkitTransform = target . style . transform = "translate(" + x + "px, " + y + "px)" ; target . setAttribute ( "data-x" , x ) ; target . setAttribute ( "data-y" , y ) ; }
dragMoveListener - Moves objects after being dragged.
dragMoveListener - Moves objects after being dragged .
// Keep the dragged position in the data-x/data-y attributes // Translate the element // Update the position attributes