sidebar-hover.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * --------------------------------------------
  3. * AdminLTE treeview.ts
  4. * License MIT
  5. * --------------------------------------------
  6. */
  7. import {
  8. domReady
  9. } from './util/index'
  10. /**
  11. * ------------------------------------------------------------------------
  12. * Constants
  13. * ------------------------------------------------------------------------
  14. */
  15. const CLASS_NAME_SIDEBAR_HOVER = 'sidebar-hover'
  16. const SELECTOR_SIDEBAR = '.sidebar'
  17. class SidebarHover {
  18. onHover(): void {
  19. const bodyClass = document.body.classList
  20. bodyClass.add(CLASS_NAME_SIDEBAR_HOVER)
  21. }
  22. notHover(): void {
  23. const bodyClass = document.body.classList
  24. bodyClass.remove(CLASS_NAME_SIDEBAR_HOVER)
  25. }
  26. init(): void {
  27. const selSidebar = document.querySelector(SELECTOR_SIDEBAR)
  28. selSidebar?.addEventListener('mouseover', () => {
  29. this.onHover()
  30. })
  31. selSidebar?.addEventListener('mouseout', () => {
  32. this.notHover()
  33. })
  34. }
  35. }
  36. domReady(() => {
  37. const data = new SidebarHover()
  38. data.init()
  39. })
  40. export default SidebarHover