Advertisement
hendeca

Javascript Event Issue

May 2nd, 2021
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. let handleTraitFilter = (e) => {
  2. return new Promise((resolve, reject) => {
  3. let categoryLink = e.currentTarget,
  4. filterValue = categoryLink.getAttribute('data-filter'),
  5. isActive = toggleActive(categoryLink);
  6. if (isActive === true) {
  7. addFilterString(filterValue)
  8. } else {
  9. removeFilterString(filterValue);
  10. }
  11. if (getFilterClass()) {
  12. filterItems();
  13. } else {
  14. showAll();
  15. }
  16. setGalleryURL();
  17. iso.on('layoutComplete', () => {
  18. resolve();
  19. });
  20. });
  21. };
  22.  
  23. let setLoader = (e) => {
  24. e.currentTarget.classList.add('loading');
  25. gallery.querySelector('.gallery-loader').style.display = 'flex';
  26. e.currentTarget.style.display = 'none';
  27. e.currentTarget.style.display = 'block';
  28. };
  29.  
  30. let addListenerToElems = (elems, eventString, handler) => {
  31. let i = 0,
  32. count = elems.length;
  33. while (i < count) {
  34. elems[i].addEventListener(eventString, handler);
  35. i++;
  36. }
  37. }
  38.  
  39. addListenerToElems(document.querySelectorAll('.traits-list a'), 'mousedown', e => {
  40. setLoader(e);
  41. setTimeout(() => {
  42. console.log(e);
  43. handleTraitFilter(e).then(() => {
  44. removeClassFromElems(document.querySelectorAll('.loading'), 'loading')
  45. gallery.querySelector('.gallery-loader').style.display = 'none';
  46. });
  47. }, 10);
  48. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement