demarches-normaliennes/app/javascript/new_design/dropdown.js

18 lines
502 B
JavaScript
Raw Normal View History

2018-10-09 11:35:22 +02:00
import { delegate } from '@utils';
2020-04-30 15:42:29 +02:00
delegate('click', 'body', (event) => {
if (!event.target.closest('.dropdown')) {
2020-04-30 15:42:29 +02:00
[...document.querySelectorAll('.dropdown')].forEach((element) =>
element.classList.remove('open', 'fade-in-down')
);
}
});
2020-04-30 15:42:29 +02:00
delegate('click', '.dropdown-button', (event) => {
event.stopPropagation();
const parent = event.target.closest('.dropdown-button').parentElement;
if (parent.classList.contains('dropdown')) {
parent.classList.toggle('open');
}
});