Skip to content

Commit 65930aa

Browse files
Simplify source pages sidebar handling
1 parent 028a313 commit 65930aa

File tree

2 files changed

+33
-37
lines changed

2 files changed

+33
-37
lines changed

src/librustdoc/html/static/css/rustdoc.css

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1540,6 +1540,30 @@ a.tooltip:hover::after {
15401540
align-items: stretch;
15411541
z-index: 10;
15421542
}
1543+
#src-sidebar-toggle > button {
1544+
font-size: inherit;
1545+
font-weight: bold;
1546+
background: none;
1547+
color: inherit;
1548+
text-align: center;
1549+
border: none;
1550+
outline: none;
1551+
flex: 1 1;
1552+
/* iOS button gradient: https://stackoverflow.com/q/5438567 */
1553+
-webkit-appearance: none;
1554+
opacity: 1;
1555+
display: block;
1556+
}
1557+
#src-sidebar-toggle > button.collapse {
1558+
display: none;
1559+
}
1560+
.src-sidebar-expanded #src-sidebar-toggle > button.expand {
1561+
display: none;
1562+
}
1563+
.src-sidebar-expanded #src-sidebar-toggle > button.collapse {
1564+
display: block;
1565+
}
1566+
15431567
#src-sidebar {
15441568
width: 100%;
15451569
overflow: auto;
@@ -1557,20 +1581,6 @@ a.tooltip:hover::after {
15571581
#src-sidebar div.files > a.selected {
15581582
background-color: var(--src-sidebar-background-selected);
15591583
}
1560-
#src-sidebar-toggle > button {
1561-
font-size: inherit;
1562-
font-weight: bold;
1563-
background: none;
1564-
color: inherit;
1565-
text-align: center;
1566-
border: none;
1567-
outline: none;
1568-
flex: 1 1;
1569-
/* iOS button gradient: https://stackoverflow.com/q/5438567 */
1570-
-webkit-appearance: none;
1571-
opacity: 1;
1572-
}
1573-
15741584
#settings-menu, #help-button {
15751585
margin-left: 4px;
15761586
display: flex;

src/librustdoc/html/static/js/src-script.js

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -71,48 +71,34 @@ function createDirEntry(elem, parent, fullPath, hasFoundFile) {
7171
return hasFoundFile;
7272
}
7373

74-
let toggleLabel;
75-
76-
function getToggleLabel() {
77-
toggleLabel = toggleLabel || document.querySelector("#src-sidebar-toggle button");
78-
return toggleLabel;
79-
}
80-
8174
window.rustdocCloseSourceSidebar = () => {
8275
removeClass(document.documentElement, "src-sidebar-expanded");
83-
getToggleLabel().innerText = ">";
8476
updateLocalStorage("source-sidebar-show", "false");
8577
};
8678

8779
window.rustdocShowSourceSidebar = () => {
8880
addClass(document.documentElement, "src-sidebar-expanded");
89-
getToggleLabel().innerText = "<";
9081
updateLocalStorage("source-sidebar-show", "true");
9182
};
9283

93-
function toggleSidebar() {
94-
const child = this.parentNode.children[0];
95-
if (child.innerText === ">") {
96-
window.rustdocShowSourceSidebar();
97-
} else {
98-
window.rustdocCloseSourceSidebar();
99-
}
84+
function createButton(className, text, onclick) {
85+
const button = document.createElement("button");
86+
button.className = className;
87+
button.innerText = text;
88+
button.onclick = onclick;
89+
return button;
10090
}
10191

10292
function createSidebarToggle() {
10393
const sidebarToggle = document.createElement("div");
10494
sidebarToggle.id = "src-sidebar-toggle";
10595

106-
const inner = document.createElement("button");
96+
sidebarToggle.appendChild(createButton("expand", ">", window.rustdocShowSourceSidebar));
97+
sidebarToggle.appendChild(createButton("collapse", "<", window.rustdocCloseSourceSidebar));
10798

10899
if (getCurrentValue("source-sidebar-show") === "true") {
109-
inner.innerText = "<";
110-
} else {
111-
inner.innerText = ">";
100+
window.rustdocShowSourceSidebar();
112101
}
113-
inner.onclick = toggleSidebar;
114-
115-
sidebarToggle.appendChild(inner);
116102
return sidebarToggle;
117103
}
118104

0 commit comments

Comments
 (0)