|
@@ -29,6 +29,7 @@ const CLASS_NAME_SIDEBAR_EXPAND = 'sidebar-expand'
|
|
|
const CLASS_NAME_SIDEBAR_OVERLAY = 'sidebar-overlay'
|
|
|
const CLASS_NAME_MENU_OPEN = 'menu-open'
|
|
|
|
|
|
+const SELECTOR_APP_SIDEBAR = '.app-sidebar'
|
|
|
const SELECTOR_SIDEBAR_WRAPPER = '.sidebar-wrapper'
|
|
|
const SELECTOR_SIDEBAR_MENU = '.sidebar-menu'
|
|
|
const SELECTOR_NAV_ITEM = '.nav-item'
|
|
@@ -151,49 +152,53 @@ class PushMenu {
|
|
|
*/
|
|
|
|
|
|
domReady(() => {
|
|
|
- const data = new PushMenu(document.body, Defaults)
|
|
|
- data.init()
|
|
|
+ const sidebar = document.querySelector(SELECTOR_APP_SIDEBAR)
|
|
|
|
|
|
- window.addEventListener('resize', () => {
|
|
|
+ if (sidebar) {
|
|
|
+ const data = new PushMenu(document.body, Defaults)
|
|
|
data.init()
|
|
|
- })
|
|
|
-
|
|
|
- const sidebarOverlay = document.createElement('div')
|
|
|
- sidebarOverlay.className = CLASS_NAME_SIDEBAR_OVERLAY
|
|
|
- document.querySelector(SELECTOR_APP_WRAPPER)?.append(sidebarOverlay)
|
|
|
-
|
|
|
- sidebarOverlay.addEventListener('touchstart', event => {
|
|
|
- event.preventDefault()
|
|
|
- const target = event.currentTarget as HTMLElement
|
|
|
- const data = new PushMenu(target, Defaults)
|
|
|
- data.collapse()
|
|
|
- })
|
|
|
- sidebarOverlay.addEventListener('click', event => {
|
|
|
- event.preventDefault()
|
|
|
- const target = event.currentTarget as HTMLElement
|
|
|
- const data = new PushMenu(target, Defaults)
|
|
|
- data.collapse()
|
|
|
- })
|
|
|
-
|
|
|
- const fullBtn = document.querySelectorAll(SELECTOR_SIDEBAR_TOGGLE)
|
|
|
-
|
|
|
- fullBtn.forEach(btn => {
|
|
|
- btn.addEventListener('click', event => {
|
|
|
+
|
|
|
+ window.addEventListener('resize', () => {
|
|
|
+ data.init()
|
|
|
+ })
|
|
|
+
|
|
|
+ const sidebarOverlay = document.createElement('div')
|
|
|
+ sidebarOverlay.className = CLASS_NAME_SIDEBAR_OVERLAY
|
|
|
+ document.querySelector(SELECTOR_APP_WRAPPER)?.append(sidebarOverlay)
|
|
|
+
|
|
|
+ sidebarOverlay.addEventListener('touchstart', event => {
|
|
|
event.preventDefault()
|
|
|
+ const target = event.currentTarget as HTMLElement
|
|
|
+ const data = new PushMenu(target, Defaults)
|
|
|
+ data.collapse()
|
|
|
+ })
|
|
|
+ sidebarOverlay.addEventListener('click', event => {
|
|
|
+ event.preventDefault()
|
|
|
+ const target = event.currentTarget as HTMLElement
|
|
|
+ const data = new PushMenu(target, Defaults)
|
|
|
+ data.collapse()
|
|
|
+ })
|
|
|
|
|
|
- let button = event.currentTarget as HTMLElement | undefined
|
|
|
+ const fullBtn = document.querySelectorAll(SELECTOR_SIDEBAR_TOGGLE)
|
|
|
|
|
|
- if (button?.dataset.lteToggle !== 'sidebar') {
|
|
|
- button = button?.closest(SELECTOR_SIDEBAR_TOGGLE) as HTMLElement | undefined
|
|
|
- }
|
|
|
+ fullBtn.forEach(btn => {
|
|
|
+ btn.addEventListener('click', event => {
|
|
|
+ event.preventDefault()
|
|
|
|
|
|
- if (button) {
|
|
|
- event?.preventDefault()
|
|
|
- const data = new PushMenu(button, Defaults)
|
|
|
- data.toggle()
|
|
|
- }
|
|
|
+ let button = event.currentTarget as HTMLElement | undefined
|
|
|
+
|
|
|
+ if (button?.dataset.lteToggle !== 'sidebar') {
|
|
|
+ button = button?.closest(SELECTOR_SIDEBAR_TOGGLE) as HTMLElement | undefined
|
|
|
+ }
|
|
|
+
|
|
|
+ if (button) {
|
|
|
+ event?.preventDefault()
|
|
|
+ const data = new PushMenu(button, Defaults)
|
|
|
+ data.toggle()
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
- })
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
export default PushMenu
|