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)) {