@ -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