Yassine Doghri 37c54d2477 feat: build hashed static files to renew browser cache
- replace rollup config with vitejs
- use vite dev server during development to take advantage of
hot module replacement (HMR)
- add vite service using Vite library to load css and js assets
- update package.json scripts and remove unnecessary
dependencies
- update scripts/bundle-prepare.sh

closes #107
2021-07-12 17:47:56 +00:00

32 lines
880 B
TypeScript

const Toggler = (): void => {
const togglerElements: NodeListOf<HTMLElement> = document.querySelectorAll(
"[data-toggle]"
);
for (let i = 0; i < togglerElements.length; i++) {
const toggler = togglerElements[i];
if (toggler.dataset.toggle) {
const target: HTMLElement | null = document.getElementById(
toggler.dataset.toggle
);
if (target && toggler.dataset.toggleClass) {
toggler.addEventListener("click", () => {
toggler.dataset.toggleClass?.split(" ").forEach((className) => {
target.classList.toggle(className);
});
if (toggler.dataset.toggleBodyClass) {
toggler.dataset.toggleBodyClass.split(" ").forEach((className) => {
document.body.classList.toggle(className);
});
}
});
}
}
}
};
export default Toggler;