Auto merge of #24973 - roryokane:fix-minus-doc-buttons, r=alexcrichton
My change in #24797 had a bug, described in that issue’s comments, and first discovered in issue #24918. This fixes it. I tested this new `main.js` by changing the `main.js` content of [a rendered docs page](https://doc.rust-lang.org/std/option/) to this new content. The ‘[−]’ button worked again. I am also including another related fix, because it would require manual merging if I made a separate pull request for it. The page-global ‘[−]’ button currently adds `#` to the end of the URL whenever it is clicked. I am changing its `href` from `#` to `javascript:void(0)` (the same as the `href` for section-specific ‘[−]’ links) to fix that.
This commit is contained in:
commit
f0ac7e04e6
3 changed files with 31 additions and 15 deletions
|
@ -1460,7 +1460,9 @@ impl<'a> fmt::Display for Item<'a> {
|
||||||
try!(write!(fmt, "<span class='out-of-band'>"));
|
try!(write!(fmt, "<span class='out-of-band'>"));
|
||||||
try!(write!(fmt,
|
try!(write!(fmt,
|
||||||
r##"<span id='render-detail'>
|
r##"<span id='render-detail'>
|
||||||
<a id="toggle-all-docs" href="#" title="collapse all docs">[−]</a>
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
</span>"##));
|
</span>"##));
|
||||||
|
|
||||||
// Write `src` tag
|
// Write `src` tag
|
||||||
|
|
|
@ -581,7 +581,7 @@ pre.rust { position: relative; }
|
||||||
|
|
||||||
.collapse-toggle > .inner {
|
.collapse-toggle > .inner {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 1ch;
|
width: 1.2ch;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -806,22 +806,35 @@
|
||||||
window.location = $('.srclink').attr('href');
|
window.location = $('.srclink').attr('href');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function labelForToggleButton(sectionIsCollapsed) {
|
||||||
|
if (sectionIsCollapsed) {
|
||||||
|
// button will expand the section
|
||||||
|
return "+";
|
||||||
|
} else {
|
||||||
|
// button will collapse the section
|
||||||
|
// note that this text is also set in the HTML template in render.rs
|
||||||
|
return "\u2212"; // "\u2212" is '−' minus sign
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$("#toggle-all-docs").on("click", function() {
|
$("#toggle-all-docs").on("click", function() {
|
||||||
var toggle = $("#toggle-all-docs");
|
var toggle = $("#toggle-all-docs");
|
||||||
if (toggle.html() == "[−]") {
|
if (toggle.hasClass("will-expand")) {
|
||||||
toggle.html("[+]");
|
toggle.removeClass("will-expand");
|
||||||
toggle.attr("title", "expand all docs");
|
toggle.children(".inner").text(labelForToggleButton(false));
|
||||||
$(".docblock").hide();
|
|
||||||
$(".toggle-label").show();
|
|
||||||
$(".toggle-wrapper").addClass("collapsed");
|
|
||||||
$(".collapse-toggle").children(".inner").html("+");
|
|
||||||
} else {
|
|
||||||
toggle.html("[−]");
|
|
||||||
toggle.attr("title", "collapse all docs");
|
toggle.attr("title", "collapse all docs");
|
||||||
$(".docblock").show();
|
$(".docblock").show();
|
||||||
$(".toggle-label").hide();
|
$(".toggle-label").hide();
|
||||||
$(".toggle-wrapper").removeClass("collapsed");
|
$(".toggle-wrapper").removeClass("collapsed");
|
||||||
$(".collapse-toggle").children(".inner").html("−");
|
$(".collapse-toggle").children(".inner").text(labelForToggleButton(false));
|
||||||
|
} else {
|
||||||
|
toggle.addClass("will-expand");
|
||||||
|
toggle.children(".inner").text(labelForToggleButton(true));
|
||||||
|
toggle.attr("title", "expand all docs");
|
||||||
|
$(".docblock").hide();
|
||||||
|
$(".toggle-label").show();
|
||||||
|
$(".toggle-wrapper").addClass("collapsed");
|
||||||
|
$(".collapse-toggle").children(".inner").text(labelForToggleButton(true));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -835,12 +848,12 @@
|
||||||
if (relatedDoc.is(":visible")) {
|
if (relatedDoc.is(":visible")) {
|
||||||
relatedDoc.slideUp({duration:'fast', easing:'linear'});
|
relatedDoc.slideUp({duration:'fast', easing:'linear'});
|
||||||
toggle.parent(".toggle-wrapper").addClass("collapsed");
|
toggle.parent(".toggle-wrapper").addClass("collapsed");
|
||||||
toggle.children(".inner").html("+");
|
toggle.children(".inner").text(labelForToggleButton(true));
|
||||||
toggle.children(".toggle-label").fadeIn();
|
toggle.children(".toggle-label").fadeIn();
|
||||||
} else {
|
} else {
|
||||||
relatedDoc.slideDown({duration:'fast', easing:'linear'});
|
relatedDoc.slideDown({duration:'fast', easing:'linear'});
|
||||||
toggle.parent(".toggle-wrapper").removeClass("collapsed");
|
toggle.parent(".toggle-wrapper").removeClass("collapsed");
|
||||||
toggle.children(".inner").html("−");
|
toggle.children(".inner").text(labelForToggleButton(false));
|
||||||
toggle.children(".toggle-label").hide();
|
toggle.children(".toggle-label").hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -848,7 +861,8 @@
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
var toggle = $("<a/>", {'href': 'javascript:void(0)', 'class': 'collapse-toggle'})
|
var toggle = $("<a/>", {'href': 'javascript:void(0)', 'class': 'collapse-toggle'})
|
||||||
.html("[<span class='inner'>−</span>]");
|
.html("[<span class='inner'></span>]");
|
||||||
|
toggle.children(".inner").text(labelForToggleButton(false));
|
||||||
|
|
||||||
$(".method").each(function() {
|
$(".method").each(function() {
|
||||||
if ($(this).next().is(".docblock") ||
|
if ($(this).next().is(".docblock") ||
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue