Add options & state around expand/collapse
This commit is contained in:
22
js/archive_tree.js
Normal file
22
js/archive_tree.js
Normal file
@@ -0,0 +1,22 @@
|
||||
(function () {
|
||||
// Wait for DOM ready
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
document.querySelectorAll('.archive-tree-year').forEach(function (summary) {
|
||||
var details = summary.parentElement;
|
||||
var year = summary.querySelector('a')?.textContent?.trim();
|
||||
if (!year) return;
|
||||
var key = 'archive_tree_year_' + year;
|
||||
// Restore state
|
||||
var open = localStorage.getItem(key);
|
||||
if (open === 'true') {
|
||||
details.setAttribute('open', '');
|
||||
} else if (open === 'false') {
|
||||
details.removeAttribute('open');
|
||||
}
|
||||
// Listen for toggle
|
||||
details.addEventListener('toggle', function () {
|
||||
localStorage.setItem(key, details.open ? 'true' : 'false');
|
||||
});
|
||||
});
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user