Skip to content

Commit cea9d1d

Browse files
fixed bug with left sidemenu closing on picking category
1 parent ba2591f commit cea9d1d

File tree

1 file changed

+38
-17
lines changed
  • scaladoc/resources/dotty_res/scripts

1 file changed

+38
-17
lines changed

scaladoc/resources/dotty_res/scripts/ux.js

Lines changed: 38 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,28 @@ const attrsToCopy = [
1919
* @returns {SavedPageState}
2020
*/
2121
function savePageState(doc) {
22-
const attrs = {}
22+
const attrs = {};
2323
for (const attr of attrsToCopy) {
24-
attrs[attr] = doc.documentElement.getAttribute(attr)
24+
attrs[attr] = doc.documentElement.getAttribute(attr);
2525
}
2626
return {
27-
mainDiv: doc.querySelector("#main").innerHTML,
27+
mainDiv: doc.querySelector("#main")?.innerHTML,
2828
leftColumn: doc.querySelector("#leftColumn").innerHTML,
2929
title: doc.title,
3030
attrs,
31-
}
31+
};
3232
}
3333

3434
/**
3535
* @param {Document} doc
3636
* @param {SavedPageState} saved
3737
*/
3838
function loadPageState(doc, saved) {
39-
doc.title = saved.title
40-
doc.querySelector("#main").innerHTML = saved.mainDiv
41-
doc.querySelector("#leftColumn").innerHTML = saved.leftColumn
39+
doc.title = saved.title;
40+
doc.querySelector("#main").innerHTML = saved.mainDiv;
41+
doc.querySelector("#leftColumn").innerHTML = saved.leftColumn;
4242
for (const attr of attrsToCopy) {
43-
doc.documentElement.setAttribute(attr, saved.attrs[attr])
43+
doc.documentElement.setAttribute(attr, saved.attrs[attr]);
4444
}
4545
}
4646

@@ -328,15 +328,23 @@ window.addEventListener(DYNAMIC_PAGE_LOAD, () => {
328328
});
329329

330330
window.addEventListener("dynamicPageLoad", () => {
331-
const leftColumn = document.querySelector(".show");
332-
if (leftColumn) leftColumn.classList.remove("show");
331+
const sideMenuOpen = sessionStorage.getItem("sideMenuOpen");
332+
if (sideMenuOpen) {
333+
if (document.querySelector("#leftColumn").classList.contains("show")) {
334+
document.querySelector("#content").classList.add("sidebar-shown");
335+
}
336+
sessionStorage.removeItem("sideMenuOpen");
337+
} else {
338+
const leftColumn = document.querySelector(".show");
339+
if (leftColumn) leftColumn.classList.remove("show");
333340

334-
const mobileSidebarToggleButton = document.querySelector(".menu-shown");
335-
if (mobileSidebarToggleButton)
336-
mobileSidebarToggleButton.classList.remove("menu-shown");
341+
const mobileSidebarToggleButton = document.querySelector(".menu-shown");
342+
if (mobileSidebarToggleButton)
343+
mobileSidebarToggleButton.classList.remove("menu-shown");
337344

338-
const content = document.querySelector(".sidebar-shown");
339-
if (content) content.classList.remove("sidebar-shown");
345+
const content = document.querySelector(".sidebar-shown");
346+
if (content) content.classList.remove("sidebar-shown");
347+
}
340348
});
341349

342350
window.addEventListener("DOMContentLoaded", () => {
@@ -514,7 +522,7 @@ members.forEach((member) => {
514522
const navbarHeight = document.querySelector("#header").clientHeight;
515523
const filtersHeight = document.querySelector(
516524
".documentableFilter",
517-
).clientHeight;
525+
)?.clientHeight;
518526
if (navbarHeight && filtersHeight) {
519527
member.style.scrollMarginTop = `${navbarHeight + filtersHeight}px`;
520528
}
@@ -526,9 +534,22 @@ members.forEach((member) => {
526534
const navbarHeight = document.querySelector("#header").clientHeight;
527535
const filtersHeight = document.querySelector(
528536
".documentableFilter",
529-
).clientHeight;
537+
)?.clientHeight;
530538
if (navbarHeight && filtersHeight) {
531539
member.style.scrollMarginTop = `${navbarHeight + filtersHeight}px`;
532540
}
533541
});
542+
});
543+
544+
window.addEventListener(DYNAMIC_PAGE_LOAD, () => {
545+
const docsLink = document.querySelector("#docs-nav-button");
546+
const apiLink = document.querySelector("#api-nav-button");
547+
548+
docsLink &&
549+
apiLink &&
550+
[docsLink, apiLink].forEach((button) => {
551+
button.addEventListener("click", () => {
552+
sessionStorage.setItem("sideMenuOpen", true);
553+
});
554+
});
534555
});

0 commit comments

Comments
 (0)