Skip to content

Commit 5ede5bc

Browse files
Merge pull request #36 from szymon-rd/iteration-fixes
Iteration fixes
2 parents 05fb271 + cea9d1d commit 5ede5bc

File tree

3 files changed

+53
-18
lines changed

3 files changed

+53
-18
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
});

scaladoc/resources/dotty_res/styles/theme/components/table-of-content.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@
1111
padding: var(--base-spacing);
1212
}
1313

14+
@media (max-height: 600px) and (orientation: landscape){
15+
#toc-container {
16+
position: fixed;
17+
top: 90px;
18+
}
19+
}
20+
1421
.toc-list {
1522
margin-block-start: calc(2 * var(--base-spacing));
1623
margin-block-end: 0;
@@ -35,13 +42,20 @@
3542
left: calc(102 * var(--base-spacing));
3643
}
3744
}*/
45+
@media (max-height: 820px) and (orientation: landscape){
46+
.toc-nav {
47+
max-height: calc(100vh - 200px);
48+
overflow: auto;
49+
}
50+
}
3851

3952
@media (max-width: 768px) {
4053
#toc {
4154
display: none;
4255
}
4356
}
4457

58+
4559
.toc-title {
4660
color: var(--text-primary);
4761
margin-bottom: calc(2 * var(--base-spacing));

scaladoc/resources/dotty_res/styles/theme/layout/mobileMenu.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
left: 0;
77
height: 100%;
88
width: 100%;
9-
z-index: 3;
9+
z-index: 103;
1010
}
1111

1212
#mobile-menu.show {

0 commit comments

Comments
 (0)