MIF_E31222846/public/template/js/main.js

59 lines
2.3 KiB
JavaScript

"use strict";
/* Aside & Navbar: dropdowns */
Array.from(document.getElementsByClassName('dropdown')).forEach(function (elA) {
elA.addEventListener('click', function (e) {
if (e.currentTarget.classList.contains('navbar-item')) {
e.currentTarget.classList.toggle('active');
} else {
var dropdownIcon = e.currentTarget.getElementsByClassName('mdi')[1];
e.currentTarget.parentNode.classList.toggle('active');
dropdownIcon.classList.toggle('mdi-plus');
dropdownIcon.classList.toggle('mdi-minus');
}
});
});
/* Aside Mobile toggle */
Array.from(document.getElementsByClassName('mobile-aside-button')).forEach(function (el) {
el.addEventListener('click', function (e) {
var dropdownIcon = e.currentTarget.getElementsByClassName('icon')[0].getElementsByClassName('mdi')[0];
document.documentElement.classList.toggle('aside-mobile-expanded');
dropdownIcon.classList.toggle('mdi-forwardburger');
dropdownIcon.classList.toggle('mdi-backburger');
});
});
/* NavBar menu mobile toggle */
Array.from(document.getElementsByClassName('--jb-navbar-menu-toggle')).forEach(function (el) {
el.addEventListener('click', function (e) {
var dropdownIcon = e.currentTarget.getElementsByClassName('icon')[0].getElementsByClassName('mdi')[0];
document.getElementById(e.currentTarget.getAttribute('data-target')).classList.toggle('active');
dropdownIcon.classList.toggle('mdi-dots-vertical');
dropdownIcon.classList.toggle('mdi-close');
});
});
/* Modal: open */
Array.from(document.getElementsByClassName('--jb-modal')).forEach(function (el) {
el.addEventListener('click', function (e) {
var modalTarget = e.currentTarget.getAttribute('data-target');
document.getElementById(modalTarget).classList.add('active');
document.documentElement.classList.add('clipped');
});
});
/* Modal: close */
Array.from(document.getElementsByClassName('--jb-modal-close')).forEach(function (el) {
el.addEventListener('click', function (e) {
e.currentTarget.closest('.modal').classList.remove('active');
document.documentElement.classList.remove('is-clipped');
});
});
/* Notification dismiss */
Array.from(document.getElementsByClassName('--jb-notification-dismiss')).forEach(function (el) {
el.addEventListener('click', function (e) {
e.currentTarget.closest('.notification').classList.add('hidden');
});
});