Guest User

Untitled

a guest
Jan 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. class MediaQueryListener {
  2. afterElement = window.getComputedStyle ? window.getComputedStyle(document.body, ':after') : false;
  3. currentBreakpoint = '';
  4. lastBreakpoint = '';
  5.  
  6. constructor() {
  7. if(!this.afterElement) {
  8. return;
  9. }
  10.  
  11. this.resizeListener();
  12. }
  13.  
  14. updateCurrentBreakpoint() {
  15. this.currentBreakpoint = this.afterElement.getPropertyValue('content').replace(/"/g, '');
  16.  
  17. if (this.currentBreakpoint !== this.lastBreakpoint) {
  18. const event = new CustomEvent(
  19. 'breakpoint-change',
  20. { detail: { currentBreakpoint: this.currentBreakpoint } }
  21. );
  22.  
  23. window.dispatchEvent(event);
  24. this.lastBreakpoint = this.currentBreakpoint;
  25. }
  26. }
  27.  
  28. resizeListener() {
  29. window.addEventListener('resize', () => {
  30. this.updateCurrentBreakpoint();
  31. });
  32.  
  33. window.addEventListener('orientationchange', () => {
  34. this.updateCurrentBreakpoint();
  35. });
  36.  
  37. window.addEventListener('load', () => {
  38. this.updateCurrentBreakpoint();
  39. });
  40. }
  41. };
  42.  
  43. export default MediaQueryListener;
Add Comment
Please, Sign In to add comment