lib/nexmo_developer/app/webpacker/javascript/sidenav/index.js in station-0.0.119 vs lib/nexmo_developer/app/webpacker/javascript/sidenav/index.js in station-0.0.120

- old
+ new

@@ -168,10 +168,11 @@ export default class Sidenav { constructor(domNode) { this.domNode = document.getElementById('sidenav'); this.mobileTrigger = document.getElementById('Vlt-sidenav-mobile-trigger'); this.container = document.getElementById('Vlt-sidenav'); + this.collapseTrigger = document.getElementById('Vlt-sidenav-collapse-trigger'); if (this.domNode) { this.buildMenu(); this.setActiveItem(); this.expandActiveMenu(); @@ -183,10 +184,11 @@ setupListeners() { this.domNode.addEventListener('menuClosed', this.closeOpenedMenu.bind(this)); this.mobileTrigger.addEventListener('click', this.mobileHandler.bind(this)); this.mobileTrigger.addEventListener('touchstart', this.mobileHandler.bind(this)); + this.collapseTrigger.addEventListener('click', this.collapseHandler.bind(this)); document.querySelector('body').addEventListener('click', this.closeMobileMenu.bind(this)); document.querySelector('body').addEventListener('touchstart', this.closeMobileMenu.bind(this)); } @@ -237,9 +239,24 @@ mobileHandler(event) { if (!this.container.classList.contains('Vlt-sidenav_visible')) { this.container.classList.add('Vlt-sidenav_visible'); document.body.classList.add('Vlt-body--mobile-menu-open'); event.stopPropagation(); + } + } + + collapseHandler(event) { + event.preventDefault(); + event.stopPropagation(); + + this.container.classList.add('Vlt-sidenav--animate'); + + if (this.container.classList.contains('Vlt-sidenav_visible')) { + this.container.classList.remove('Vlt-sidenav_visible'); + } else if (this.container.classList.contains('Vlt-sidenav--collapsed')) { + this.container.classList.remove('Vlt-sidenav--collapsed'); + } else { + this.container.classList.add('Vlt-sidenav--collapsed'); } } closeMobileMenu(event) { if (!this.domNode.contains(event.target)) {