src/devpanel/view/file-graph/view/graph/index.js
function(){
    return {
      bindDragNDrop: function(node, handlers){
        if (handlers)
        {
          var events = Viva.Graph.Utils.dragndrop(node.ui.element);

          ['onStart', 'onDrag', 'onStop'].forEach(function(name){
            if (typeof handlers[name] === 'function')
              events[name](handlers[name]);
          });

          node.events = events;
        }
        else if (node.events)
        { // TODO: i'm not sure if this is required in JS world...
          node.events.release();
          node.events = null;
        }
      }
    };
  }
function(){
    return {
      bindDragNDrop: function(node, handlers){
        if (handlers)
        {
          var events = Viva.Graph.Utils.dragndrop(node.ui.element);

          ['onStart', 'onDrag', 'onStop'].forEach(function(name){
            if (typeof handlers[name] === 'function')
              events[name](handlers[name]);
          });

          node.events = events;
        }
        else if (node.events)
        { // TODO: i'm not sure if this is required in JS world...
          node.events.release();
          node.events = null;
        }
      }
    };
  }
function ( ) { return { bindDragNDrop : function ( node , handlers ) { if ( handlers ) { var events = Viva . Graph . Utils . dragndrop ( node . ui . element ) ; [ 'onStart' , 'onDrag' , 'onStop' ] . forEach ( function ( name ) { if ( typeof handlers [ name ] === 'function' ) events [ name ] ( handlers [ name ] ) ; } ) ; node . events = events ; } else if ( node . events ) { // TODO: i'm not sure if this is required in JS world... node . events . release ( ) ; node . events = null ; } } } ; }
Default input manager listens to DOM events to process nodes drag-n-drop
Default input manager listens to DOM events to process nodes drag - n - drop