/
ethyne
/
notes
Обзор
Документация
Войти
/
ethyne
/
notes
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v4
quartz/components/scripts/checkbox.inline.ts
23 строки
754 B
Aaron Pham
feat: support checkbox (closes #646) (#799)
05 фев 2024, 09:19
Не верифицирован
05 фев 2024, 09:19
e58c217
Код
Авторство
О чём код?
import { getFullSlug } from "../../util/path" const checkboxId = (index: number) => `${getFullSlug(window)}-checkbox-${index}` document.addEventListener("nav", () => { const checkboxes = document.querySelectorAll( "input.checkbox-toggle", ) as NodeListOf<HTMLInputElement> checkboxes.forEach((el, index) => { const elId = checkboxId(index) const switchState = (e: Event) => { const newCheckboxState = (e.target as HTMLInputElement)?.checked ? "true" : "false" localStorage.setItem(elId, newCheckboxState) } el.addEventListener("change", switchState) window.addCleanup(() => el.removeEventListener("change", switchState)) if (localStorage.getItem(elId) === "true") { el.checked = true } }) })