Guest User

Untitled

a guest
Feb 22nd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. var triggerDragAndDrop = function (selectorDrag, selectorDrop) {
  2.  
  3. // function for triggering mouse events
  4. var fireMouseEvent = function (type, elem, centerX, centerY) {
  5. var evt = document.createEvent('MouseEvents');
  6. evt.initMouseEvent(type, true, true, window, 1, 1, 1, centerX, centerY, false, false, false, false, 0, elem);
  7. elem.dispatchEvent(evt);
  8. };
  9.  
  10. // fetch target elements
  11. var elemDrag = document.querySelector(selectorDrag);
  12. var elemDrop = document.querySelector(selectorDrop);
  13. if (!elemDrag || !elemDrop) return false;
  14.  
  15. // calculate positions
  16. var pos = elemDrag.getBoundingClientRect();
  17. var center1X = Math.floor((pos.left + pos.right) / 2);
  18. var center1Y = Math.floor((pos.top + pos.bottom) / 2);
  19. pos = elemDrop.getBoundingClientRect();
  20. var center2X = Math.floor((pos.left + pos.right) / 2);
  21. var center2Y = Math.floor((pos.top + pos.bottom) / 2);
  22.  
  23. // mouse over dragged element and mousedown
  24. fireMouseEvent('mousemove', elemDrag, center1X, center1Y);
  25. fireMouseEvent('mouseenter', elemDrag, center1X, center1Y);
  26. fireMouseEvent('mouseover', elemDrag, center1X, center1Y);
  27. fireMouseEvent('mousedown', elemDrag, center1X, center1Y);
  28.  
  29. // start dragging process over to drop target
  30. fireMouseEvent('dragstart', elemDrag, center1X, center1Y);
  31. fireMouseEvent('drag', elemDrag, center1X, center1Y);
  32. fireMouseEvent('mousemove', elemDrag, center1X, center1Y);
  33. fireMouseEvent('drag', elemDrag, center2X, center2Y);
  34. fireMouseEvent('mousemove', elemDrop, center2X, center2Y);
  35.  
  36. // trigger dragging process on top of drop target
  37. fireMouseEvent('mouseenter', elemDrop, center2X, center2Y);
  38. fireMouseEvent('dragenter', elemDrop, center2X, center2Y);
  39. fireMouseEvent('mouseover', elemDrop, center2X, center2Y);
  40. fireMouseEvent('dragover', elemDrop, center2X, center2Y);
  41.  
  42. // release dragged element on top of drop target
  43. fireMouseEvent('drop', elemDrop, center2X, center2Y);
  44. fireMouseEvent('dragend', elemDrag, center2X, center2Y);
  45. fireMouseEvent('mouseup', elemDrag, center2X, center2Y);
  46.  
  47. return true;
  48. };
  49.  
  50. const e1 = "#board > div:nth-child(2) > div > div.list-cards.u-fancy-scrollbar.u-clearfix.js-list-cards.js-sortable.ui-sortable > a > div.list-card-details > span"
  51. const e2 = "#board > div:nth-child(3) > div > a";
  52. const element = document.querySelector(e1);
  53. const dragBox = document.querySelector(e2);
  54. triggerDragAndDrop(e1, e2)
Add Comment
Please, Sign In to add comment