Rollup merge of #48631 - focusaurus:remember-collapse-setting, r=QuietMisdreavus

Remember state of top-level collapse toggle widget

This change allows the big top-right expand/collapse toggle to remember its setting across navigation or page reloads. Prior to this change, there was this annoyance:

- browse to some docs
- Click the minus button to collapse them
- browse to other docs (or reload the page)
- Everything is expanded again

The solution is based on storing a simple boolean flag in localStorage. I think it's a good improvement, but it does introduce the following potentially surprising behavior:

- browse to some docs
- click the minus button to collapse them
- click to expand a particular item (not the main top-right big one)
- reload the page, everything is collapsed

Paired with @debugsteven on this.
This commit is contained in:
kennytm 2018-03-13 05:01:15 +08:00
commit 15d71d3285
No known key found for this signature in database
GPG Key ID: FEF6C8051D0E013C

View File

@ -1628,6 +1628,7 @@
function toggleAllDocs() {
var toggle = document.getElementById("toggle-all-docs");
if (hasClass(toggle, "will-expand")) {
updateLocalStorage("rustdoc-collapse", "false");
removeClass(toggle, "will-expand");
onEveryMatchingChild(toggle, "inner", function(e) {
e.innerHTML = labelForToggleButton(false);
@ -1637,6 +1638,7 @@
collapseDocs(e, "show");
});
} else {
updateLocalStorage("rustdoc-collapse", "true");
addClass(toggle, "will-expand");
onEveryMatchingChild(toggle, "inner", function(e) {
e.innerHTML = labelForToggleButton(true);
@ -1988,6 +1990,10 @@
window.onresize = function() {
hideSidebar();
};
if (getCurrentValue("rustdoc-collapse") === "true") {
toggleAllDocs();
}
}());
// Sets the focus on the search bar at the top of the page