rustdoc: fold fields for enum struct variants into a docblock
This commit is contained in:
parent
5293b913c4
commit
fff921672f
@ -2467,8 +2467,13 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
|
||||
if let clean::VariantItem(Variant {
|
||||
kind: VariantKind::Struct(ref s)
|
||||
}) = variant.inner {
|
||||
write!(w, "<h3 class='fields'>Fields</h3>\n
|
||||
<table>")?;
|
||||
let variant_id = derive_id(format!("{}.{}.fields",
|
||||
ItemType::Variant,
|
||||
variant.name.as_ref().unwrap()));
|
||||
write!(w, "<span class='docblock autohide sub-variant' id='{id}'>",
|
||||
id = variant_id)?;
|
||||
write!(w, "<h3 class='fields'>Fields of <code>{name}</code></h3>\n
|
||||
<table>", name = variant.name.as_ref().unwrap())?;
|
||||
for field in &s.fields {
|
||||
use clean::StructFieldItem;
|
||||
if let StructFieldItem(ref ty) = field.inner {
|
||||
@ -2492,7 +2497,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
|
||||
write!(w, "</td></tr>")?;
|
||||
}
|
||||
}
|
||||
write!(w, "</table>")?;
|
||||
write!(w, "</table></span>")?;
|
||||
}
|
||||
render_stability_since(w, variant, it)?;
|
||||
}
|
||||
|
@ -1013,6 +1013,22 @@
|
||||
.html(' Expand description'));
|
||||
var wrapper = $("<div class='toggle-wrapper'>").append(mainToggle);
|
||||
$("#main > .docblock").before(wrapper);
|
||||
|
||||
$(".docblock.autohide").each(function() {
|
||||
var wrap = $(this).prev();
|
||||
if (wrap.is(".toggle-wrapper")) {
|
||||
var toggle = wrap.children().first();
|
||||
if ($(this).children().first().is("h3")) {
|
||||
toggle.children(".toggle-label")
|
||||
.text(" Show " + $(this).children().first().text());
|
||||
}
|
||||
$(this).hide();
|
||||
wrap.addClass("collapsed");
|
||||
toggle.children(".inner").text(labelForToggleButton(true));
|
||||
toggle.children(".toggle-label").show();
|
||||
}
|
||||
});
|
||||
|
||||
var mainToggle =
|
||||
$(toggle).append(
|
||||
$('<span/>', {'class': 'toggle-label'})
|
||||
|
@ -339,6 +339,10 @@ h4 > code, h3 > code, .invisible > code {
|
||||
border-bottom: 1px solid;
|
||||
}
|
||||
|
||||
.fields + table {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.content .item-list {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
@ -663,6 +667,10 @@ span.since {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.sub-variant, .sub-variant > h3 {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.enum > .toggle-wrapper + .docblock, .struct > .toggle-wrapper + .docblock {
|
||||
margin-left: 30px;
|
||||
margin-bottom: 20px;
|
||||
|
Loading…
x
Reference in New Issue
Block a user