mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-12-06 04:41:41 +01:00
[CHANGE Move sidebar collapse JS into its own file
This commit is contained in:
parent
8898c665cf
commit
cc76f09a6e
30
allianceauth/static/allianceauth/js/sidebar-collapse.js
Normal file
30
allianceauth/static/allianceauth/js/sidebar-collapse.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
$(document).ready(() => {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const sidebar = document.getElementById('sidebar');
|
||||||
|
const sidebarKey = `sidebar_${sidebar.id}`;
|
||||||
|
|
||||||
|
sidebar.addEventListener('shown.bs.collapse', (event) => {
|
||||||
|
if (event.target.id === sidebar.id) {
|
||||||
|
localStorage.removeItem(sidebarKey);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
sidebar.addEventListener('hidden.bs.collapse', (event) => {
|
||||||
|
if (event.target.id === sidebar.id) {
|
||||||
|
localStorage.setItem(sidebarKey, 'closed');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
sidebar.classList.toggle('show', localStorage.getItem(sidebarKey) !== 'closed');
|
||||||
|
|
||||||
|
const activeChildMenuItem = document.querySelector('ul#sidebar-menu ul.collapse a.active');
|
||||||
|
|
||||||
|
if (activeChildMenuItem) {
|
||||||
|
const activeChildMenuUl = activeChildMenuItem.closest('ul');
|
||||||
|
activeChildMenuUl.classList.add('show');
|
||||||
|
|
||||||
|
document.querySelectorAll(`[data-bs-target^="#${activeChildMenuUl.id}"]`)
|
||||||
|
.forEach(element => element.setAttribute('aria-expanded', true));
|
||||||
|
}
|
||||||
|
});
|
||||||
@ -102,44 +102,7 @@
|
|||||||
</main>
|
</main>
|
||||||
<!-- End Body -->
|
<!-- End Body -->
|
||||||
|
|
||||||
<script>
|
{% include "bundles/auth-sidebar-collapse-js.html" %}
|
||||||
(() => {
|
|
||||||
// TODO Move to own JS file
|
|
||||||
const sidebar = document.getElementById('sidebar');
|
|
||||||
const sidebarKey = `sidebar_${sidebar.id}`;
|
|
||||||
|
|
||||||
sidebar.addEventListener('shown.bs.collapse', (event) => {
|
|
||||||
if (event.target.id === sidebar.id) {
|
|
||||||
localStorage.removeItem(sidebarKey);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
sidebar.addEventListener('hidden.bs.collapse', (event) => {
|
|
||||||
if (event.target.id === sidebar.id) {
|
|
||||||
localStorage.setItem(sidebarKey, 'closed');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (localStorage.getItem(sidebarKey) === 'closed') {
|
|
||||||
sidebar.classList.remove('show');
|
|
||||||
} else {
|
|
||||||
sidebar.classList.add('show');
|
|
||||||
}
|
|
||||||
|
|
||||||
const activeChildMenuItem = document.querySelector('#sidebar-menu li ul li a.active');
|
|
||||||
|
|
||||||
if (activeChildMenuItem) {
|
|
||||||
const activeChildMenuUl = activeChildMenuItem.parentElement.parentElement;
|
|
||||||
const elementsToToggle = document.querySelectorAll(`[data-bs-target^="#${activeChildMenuUl.id}"]`);
|
|
||||||
|
|
||||||
activeChildMenuUl.classList.add('show');
|
|
||||||
|
|
||||||
elementsToToggle.forEach((element) => {
|
|
||||||
element.setAttribute('aria-expanded', true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{% theme_js %}
|
{% theme_js %}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,3 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
{% sri_static 'allianceauth/js/sidebar-collapse.js' %}
|
||||||
Loading…
x
Reference in New Issue
Block a user