Guest User

Untitled

a guest
Feb 15th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. var container = document.querySelector('.js-flex-container'),
  2. containerRow = container.querySelector('.js-flex-row'),
  3. oldX = 0,
  4. oldY = 0,
  5. rect = container.getBoundingClientRect(),
  6. mouseupEvent = new MouseEvent('mouseup'),
  7. newDiv,
  8. colCount,
  9. captureMouseMove = function captureMouseMove(event){
  10. var directionX = 0,
  11. directionY = 0;
  12.  
  13. if ((event.clientX - rect.left) > oldX) {
  14. // "right"
  15. newDiv.style.width = oldX + 'px';
  16.  
  17. if (oldX >= Math.round(rect.right / colCount)) {
  18. container.dispatchEvent(mouseupEvent);
  19. }
  20. }
  21.  
  22. oldX = (event.clientX - rect.left);
  23. };
  24.  
  25. container.querySelector('.js-flex-column').addEventListener('mousedown', function(event){
  26. var colWidth = event.clientX - rect.left,
  27. columns = container.querySelectorAll('.col');
  28.  
  29. colCount = columns.length + 1;
  30.  
  31. newDiv = document.createElement('div');
  32. newDiv.className = 'col-x';
  33. columns[0].parentNode.insertBefore(newDiv, columns[0]);
  34. container.addEventListener('mousemove', captureMouseMove);
  35. });
  36.  
  37. container.addEventListener('mouseup', function(){
  38. console.log('mouseup');
  39.  
  40. if (typeof newDiv !== 'undefined') {
  41. newDiv.style.width = '';
  42. newDiv.className = 'col col-' + colCount;
  43. container.removeEventListener('mousemove', captureMouseMove);
  44. }
  45. });
Add Comment
Please, Sign In to add comment