import Slideout from 'slideout'; import { AutoloadPage } from 'vj/misc/Page'; import request from 'vj/utils/request'; function handleNavLogoutClick(ev) { const $logoutLink = $(ev.currentTarget); request .post($logoutLink.attr('href')) .then(() => window.location.reload()); ev.preventDefault(); } const navigationPage = new AutoloadPage('navigationPage', () => { if (!document.getElementById('panel') || !document.getElementById('menu')) return; $(document).on('click', '[name="nav_logout"]', handleNavLogoutClick); const slideout = new Slideout({ panel: document.getElementById('panel'), menu: document.getElementById('menu'), padding: 200, tolerance: 70, side: 'right', }); [['beforeopen', 'add'], ['beforeclose', 'remove']].forEach(([event, action]) => { slideout.on(event, () => $('.header__hamburger .hamburger')[`${action}Class`]('is-active')); }); const $slideoutOverlay = $('.slideout-overlay'); $slideoutOverlay.click(() => slideout.close()); slideout.on('beforeopen', () => $slideoutOverlay.show()); slideout.on('beforeclose', () => $slideoutOverlay.hide()); $('.header__hamburger').click(() => slideout.toggle()); }); export default navigationPage;