diff --git a/src/core/Resources/assets/js/admin.js b/src/core/Resources/assets/js/admin.js index b619439..58cb77c 100644 --- a/src/core/Resources/assets/js/admin.js +++ b/src/core/Resources/assets/js/admin.js @@ -1,6 +1,7 @@ import '../../../../../../../../assets/css/admin.scss'; require('../../../../../../../../node_modules/bootstrap/dist/js/bootstrap.min.js') +require('./modules/sidebar.js')() require('./modules/table-fixed.js')() require('./modules/form-confirm.js')() require('./modules/form-file.js')() @@ -27,5 +28,4 @@ require('./modules/file-manager.js')() require('./modules/file-picker.js')() require('./modules/analytics.js')() require('./modules/page.js')() -require('./modules/sidebar.js')() require('./modules/node.js')() diff --git a/src/core/Resources/assets/js/modules/sidebar.js b/src/core/Resources/assets/js/modules/sidebar.js index a93e210..5b2326b 100644 --- a/src/core/Resources/assets/js/modules/sidebar.js +++ b/src/core/Resources/assets/js/modules/sidebar.js @@ -1,9 +1,21 @@ const $ = require('jquery') -const SidebarOpener = () => { - $('.sidebar-toggler .btn').click(() => { - $('.sidebar').toggleClass('is-open') +const Sidebar = () => { + const menu = document.querySelector('.sidebar') + + if (!menu) { + return + } + + const stickyMenu = menu.querySelector('.sidebar-sticky') + const currentItem = menu.querySelector('.nav-link.active') + const toggler = menu.querySelector('.sidebar-toggler .btn') + + toggler.addEventListener('click', () => { + menu.classList.toggle('is-open') }) + + stickyMenu.scroll({top: currentItem.offsetTop - menu.scrollTop}) } -module.exports = SidebarOpener +module.exports = Sidebar