code: function mxDragSource(element, dropHandler)
  {
  	this.element = element;
  	this.dropHandler = dropHandler;
  	
  	// Handles a drag gesture on the element
  	mxEvent.addGestureListeners(element, mxUtils.bind(this, function(evt)
  	{
  		this.mouseDown(evt);
  	}));
  	
  	// Prevents native drag and drop
  	mxEvent.addListener(element, 'dragstart', function(evt)
  	{
  		mxEvent.consume(evt);
  	});
  	
  	this.eventConsumer = function(sender, evt)
  	{
  		var evtName = evt.getProperty('eventName');
  		var me = evt.getProperty('event');
  		
  		if (evtName != mxEvent.MOUSE_DOWN)
  		{
  			me.consume();
  		}
  	};
  }
docs: Copyright (c) 2006-2015, JGraph Ltd
  Copyright (c) 2006-2015, Gaudenz Alder
   
  Class: mxDragSource
  
  Wrapper to create a drag source from a DOM element so that the element can
  be dragged over a graph and dropped into the graph as a new cell.
  
  Problem is that in the dropHandler the current preview location is not
  available, so the preview and the dropHandler must match.
  
  Constructor: mxDragSource
  
  Constructs a new drag source for the given element.