Advertisement
Guest User

Untitled

a guest
Feb 16th, 2015
408
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  app.directive('draggable', function() {
  3.     return function(scope, element) {
  4.         var el = element[0];
  5.  
  6.         el.draggable = true;
  7.  
  8.         el.addEventListener(
  9.             'dragstart',
  10.             function(e) {
  11.                 e.dataTransfer.effectAllowed = 'move';
  12.                 e.dataTransfer.setData('Text', JSON.stringify(scope.user));
  13.                 this.classList.add('drag');
  14.                
  15.                 return false;
  16.             },
  17.             false
  18.         );
  19.  
  20.         el.addEventListener(
  21.             'dragend',
  22.             function(e) {
  23.                 this.classList.remove('drag');
  24.                 return false;
  25.             },
  26.             false
  27.         );
  28.     }
  29.  });
  30.  
  31.  app.directive('droppable', function() {
  32.     return function(scope, element) {
  33.         var el = element[0];
  34.  
  35.         el.addEventListener(
  36.             'dragover',
  37.             function(e) {
  38.                 e.dataTransfer.dropEffect = 'move';
  39.  
  40.                 if(e.preventDefault) e.preventDefault();
  41.                 this.classList.add('over');
  42.  
  43.                 return false;
  44.             },
  45.             false
  46.         );
  47.  
  48.         el.addEventListener(
  49.             'dragenter',
  50.             function(e) {
  51.                 this.classList.add('over');
  52.                 return false;
  53.             },
  54.             false
  55.         );
  56.  
  57.         el.addEventListener(
  58.             'dragleave',
  59.             function(e) {
  60.                 this.classList.remove('over');
  61.                 return false;
  62.             },
  63.             false
  64.         );
  65.  
  66.         el.addEventListener(
  67.             'drop',
  68.             function(e) {
  69.                 if(e.preventDefault) e.preventDefault();
  70.                 if(e.stopPropagation) e.stopPropagation();
  71.  
  72.                 this.classList.remove('over');
  73.  
  74.                 userObj = JSON.parse(e.dataTransfer.getData('Text'));
  75.                 scope.team.addMember(userObj);
  76.                 scope.$apply();
  77.             },
  78.             false
  79.         );
  80.     }
  81.  });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement