From 7327cf7be59adbb57cbb246d50709306488a1167 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Thu, 29 Jun 2017 22:10:24 +0200 Subject: [PATCH] Toggle wrappers are now generated correctly --- src/librustdoc/html/static/main.js | 49 +++++++++++++++++------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 38f83687d1d85..788cd80b075ea 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -1233,21 +1233,24 @@ onEach(e.getElementsByClassName('associatedconstant'), func); }); - var span = document.createElement('span'); - span.className = 'toggle-label'; - span.style.display = 'none'; - span.innerHTML = ' Expand description'; - - var mainToggle = toggle.cloneNode(true); - mainToggle.appendChild(span); - - var wrapper = document.createElement('div'); - wrapper.className = 'toggle-wrapper'; - wrapper.appendChild(mainToggle); + function createToggle() { + var span = document.createElement('span'); + span.className = 'toggle-label'; + span.style.display = 'none'; + span.innerHTML = ' Expand description'; + + var mainToggle = toggle.cloneNode(true); + mainToggle.appendChild(span); + + var wrapper = document.createElement('div'); + wrapper.className = 'toggle-wrapper'; + wrapper.appendChild(mainToggle); + return wrapper; + } onEach(document.getElementById('main').getElementsByClassName('docblock'), function(e) { if (e.parentNode.id === "main") { - e.parentNode.insertBefore(wrapper, e); + e.parentNode.insertBefore(createToggle(), e); } }); @@ -1273,18 +1276,22 @@ } }) - var span = document.createElement('span'); - span.className = 'toggle-label'; - span.style.display = 'none'; - span.innerHTML = ' Expand attributes'; - toggle.appendChild(span); + function createToggleWrapper() { + var span = document.createElement('span'); + span.className = 'toggle-label'; + span.style.display = 'none'; + span.innerHTML = ' Expand attributes'; + toggle.appendChild(span); + + var wrapper = document.createElement('div'); + wrapper.className = 'toggle-wrapper toggle-attributes'; + wrapper.appendChild(toggle); + return wrapper; + } - var wrapper = document.createElement('div'); - wrapper.className = 'toggle-wrapper toggle-attributes'; - wrapper.appendChild(toggle); onEach(document.getElementById('main').getElementsByTagName('pre'), function(e) { onEach(e.getElementsByClassName('attributes'), function(i_e) { - i_e.parentNode.insertBefore(wrapper, i_e); + i_e.parentNode.insertBefore(createToggleWrapper(), i_e); collapseDocs(i_e.previousSibling.childNodes[0]); }); });