Skip to content

Commit a750dd1

Browse files
committed
release-notes.js: Also filter the ToC
1 parent f2d1ff6 commit a750dd1

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

docs/js/release-notes.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,13 @@
1616
const releaseNotesItems = [...releaseNotesNodes].map((releaseNotesNode) => {
1717
const tagsNodes = releaseNotesNode.querySelectorAll('.release-note__tags .pill');
1818
const tagsItems = [...tagsNodes].map((tagNode) => `filter-${tagNode.dataset.filter}`);
19+
const id = releaseNotesNode.getElementsByTagName('h2')[0].getAttribute('id');
20+
const tocEntry = doc.querySelector(`.md-sidebar--secondary a[href="#${id}"]`).parentNode;
1921

2022
return {
2123
node: releaseNotesNode,
2224
tags: tagsItems,
25+
toc: tocEntry,
2326
};
2427
});
2528
const handleClickOutside = ({ target }) => {
@@ -46,10 +49,11 @@
4649
filterItem.addEventListener('change', () => {
4750
const checkedItems = [...filterItems].filter(({ checked }) => checked).map(({ id }) => id);
4851

49-
releaseNotesItems.forEach(({ node, tags }) => {
52+
releaseNotesItems.forEach(({ node, tags, toc }) => {
5053
const isVisible = checkedItems.length === 0 || tags.some((tag) => checkedItems.includes(tag));
5154

5255
node.classList.toggle('release-note--hidden', !isVisible);
56+
toc.classList.toggle('release-note--hidden', !isVisible);
5357
});
5458
visibleItems.forEach((visibleItem) => {
5559
const isVisible = checkedItems.includes(visibleItem.dataset.filter);

0 commit comments

Comments
 (0)