From 6047a0365976cbf7ad2991e6d88e4adf2fc6d0f4 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 18 Nov 2017 00:32:12 +0100 Subject: [PATCH] Add tooltip for important traits display --- src/librustdoc/html/render.rs | 13 +++++++++---- src/librustdoc/html/static/main.js | 2 +- src/librustdoc/html/static/rustdoc.css | 1 + src/test/rustdoc/doc-spotlight.rs | 8 ++++---- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 71585590271..731b4443004 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -3255,6 +3255,7 @@ fn render_spotlight_traits(item: &clean::Item) -> Result { fn spotlight_decl(decl: &clean::FnDecl) -> Result { let mut out = String::new(); + let mut trait_ = String::new(); if let Some(did) = decl.output.def_id() { let c = cache(); @@ -3265,9 +3266,10 @@ fn spotlight_decl(decl: &clean::FnDecl) -> Result { .map_or(false, |t| t.is_spotlight) { if out.is_empty() { out.push_str( - &format!("

Important traits for {}

", + &format!("

Important traits for {}

\ + ", impl_.for_)); - out.push_str(""); + trait_.push_str(&format!("{}", impl_.for_)); } //use the "where" class here to make it small @@ -3288,8 +3290,11 @@ fn spotlight_decl(decl: &clean::FnDecl) -> Result { } if !out.is_empty() { - out.insert_str(0, "
ⓘ
"); - out.push_str("
"); + out.insert_str(0, &format!("
ⓘ\ + Important traits for {}
\ +
", + trait_)); + out.push_str("
"); } Ok(out) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index c3f2ec25308..51d6857d628 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -1737,7 +1737,7 @@ onEach(document.getElementsByClassName('important-traits'), function(e) { e.onclick = function() { - showModal(e.firstElementChild.innerHTML); + showModal(e.lastElementChild.innerHTML); }; }); diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index e14ba9881b6..d7f4674908c 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -958,6 +958,7 @@ pre.rust { .important-traits { cursor: pointer; + z-index: 2; } h4 > .important-traits { diff --git a/src/test/rustdoc/doc-spotlight.rs b/src/test/rustdoc/doc-spotlight.rs index eb05b261fcc..a570aa2d398 100644 --- a/src/test/rustdoc/doc-spotlight.rs +++ b/src/test/rustdoc/doc-spotlight.rs @@ -19,7 +19,7 @@ impl SomeTrait for Wrapper {} #[doc(spotlight)] pub trait SomeTrait { // @has doc_spotlight/trait.SomeTrait.html - // @has - '//code[@class="spotlight"]' 'impl SomeTrait for Wrapper' + // @has - '//code[@class="content"]' 'impl SomeTrait for Wrapper' fn wrap_me(self) -> Wrapper where Self: Sized { Wrapper { inner: self, @@ -32,15 +32,15 @@ impl SomeTrait for SomeStruct {} impl SomeStruct { // @has doc_spotlight/struct.SomeStruct.html - // @has - '//code[@class="spotlight"]' 'impl SomeTrait for SomeStruct' - // @has - '//code[@class="spotlight"]' 'impl SomeTrait for Wrapper' + // @has - '//code[@class="content"]' 'impl SomeTrait for SomeStruct' + // @has - '//code[@class="content"]' 'impl SomeTrait for Wrapper' pub fn new() -> SomeStruct { SomeStruct } } // @has doc_spotlight/fn.bare_fn.html -// @has - '//code[@class="spotlight"]' 'impl SomeTrait for SomeStruct' +// @has - '//code[@class="content"]' 'impl SomeTrait for SomeStruct' pub fn bare_fn() -> SomeStruct { SomeStruct } -- 2.44.0