mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-01-31 04:42:34 -08:00
62 lines
No EOL
1.7 KiB
JavaScript
62 lines
No EOL
1.7 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
// https://bulma.io/documentation/components/navbar/
|
|
// Get all "navbar-burger" elements
|
|
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
|
|
|
// Check if there are any navbar burgers
|
|
if ($navbarBurgers.length > 0) {
|
|
|
|
// Add a click event on each of them
|
|
$navbarBurgers.forEach( el => {
|
|
el.addEventListener('click', () => {
|
|
|
|
// Get the target from the "data-target" attribute
|
|
const target = el.dataset.target;
|
|
const $target = document.getElementById(target);
|
|
|
|
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
|
el.classList.toggle('is-active');
|
|
$target.classList.toggle('is-active');
|
|
|
|
});
|
|
});
|
|
}
|
|
|
|
// https://siongui.github.io/2018/01/19/bulma-dropdown-with-javascript/
|
|
// Dropdowns
|
|
|
|
var $dropdowns = getAll('.dropdown:not(.is-hoverable)');
|
|
|
|
if ($dropdowns.length > 0) {
|
|
$dropdowns.forEach(function ($el) {
|
|
$el.addEventListener('click', function (event) {
|
|
event.stopPropagation();
|
|
$el.classList.toggle('is-active');
|
|
});
|
|
});
|
|
|
|
document.addEventListener('click', function (event) {
|
|
closeDropdowns();
|
|
});
|
|
}
|
|
|
|
function closeDropdowns() {
|
|
$dropdowns.forEach(function ($el) {
|
|
$el.classList.remove('is-active');
|
|
});
|
|
}
|
|
|
|
// Close dropdowns if ESC pressed
|
|
document.addEventListener('keydown', function (event) {
|
|
var e = event || window.event;
|
|
if (e.keyCode === 27) {
|
|
closeDropdowns();
|
|
}
|
|
});
|
|
|
|
// Functions
|
|
|
|
function getAll(selector) {
|
|
return Array.prototype.slice.call(document.querySelectorAll(selector), 0);
|
|
}
|
|
}); |