Rollup merge of #81299 - GuillaumeGomez:fix-eslint-detected-bugs, r=Nemo157

Fix some bugs reported by eslint

Simply went into `src/librustdoc/html/static/` and ran `eslint *.js` in case you want to reproduce. :)

r? ``````@Nemo157``````
This commit is contained in:
Yuki Okushi 2021-01-27 04:43:22 +09:00 committed by GitHub
commit 1308c1445c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 32 deletions

View file

@ -1,9 +1,6 @@
// From rust:
/* global ALIASES */
// Local js definitions:
/* global addClass, getCurrentValue, hasClass */
/* global onEachLazy, hasOwnProperty, removeClass, updateLocalStorage */
/* global addClass, getSettingValue, hasClass */
/* global onEach, onEachLazy, hasOwnProperty, removeClass, updateLocalStorage */
/* global hideThemeButtonState, showThemeButtonState */
if (!String.prototype.startsWith) {
@ -2214,7 +2211,7 @@ function defocusSearchBar() {
}
}
function toggleAllDocs(pageId, fromAutoCollapse) {
function toggleAllDocs(fromAutoCollapse) {
var innerToggle = document.getElementById(toggleAllDocsId);
if (!innerToggle) {
return;
@ -2257,14 +2254,14 @@ function defocusSearchBar() {
}
if (!parent || !superParent || superParent.id !== "main" ||
hasClass(parent, "impl") === false) {
collapseDocs(e, "hide", pageId);
collapseDocs(e, "hide");
}
});
}
}
}
function collapseDocs(toggle, mode, pageId) {
function collapseDocs(toggle, mode) {
if (!toggle || !toggle.parentNode) {
return;
}
@ -2384,27 +2381,27 @@ function defocusSearchBar() {
}
}
function collapser(pageId, e, collapse) {
function collapser(e, collapse) {
// inherent impl ids are like "impl" or impl-<number>'.
// they will never be hidden by default.
var n = e.parentElement;
if (n.id.match(/^impl(?:-\d+)?$/) === null) {
// Automatically minimize all non-inherent impls
if (collapse || hasClass(n, "impl")) {
collapseDocs(e, "hide", pageId);
collapseDocs(e, "hide");
}
}
}
function autoCollapse(pageId, collapse) {
function autoCollapse(collapse) {
if (collapse) {
toggleAllDocs(pageId, true);
toggleAllDocs(true);
} else if (getSettingValue("auto-hide-trait-implementations") !== "false") {
var impl_list = document.getElementById("trait-implementations-list");
if (impl_list !== null) {
onEachLazy(impl_list.getElementsByClassName("collapse-toggle"), function(e) {
collapser(pageId, e, collapse);
collapser(e, collapse);
});
}
@ -2412,7 +2409,7 @@ function defocusSearchBar() {
if (blanket_list !== null) {
onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"), function(e) {
collapser(pageId, e, collapse);
collapser(e, collapse);
});
}
}
@ -2475,7 +2472,6 @@ function defocusSearchBar() {
var toggle = createSimpleToggle(false);
var hideMethodDocs = getSettingValue("auto-hide-method-docs") === "true";
var hideImplementors = getSettingValue("auto-collapse-implementors") !== "false";
var pageId = getPageId();
var func = function(e) {
var next = e.nextElementSibling;
@ -2489,7 +2485,7 @@ function defocusSearchBar() {
var newToggle = toggle.cloneNode(true);
insertAfter(newToggle, e.childNodes[e.childNodes.length - 1]);
if (hideMethodDocs === true && hasClass(e, "method") === true) {
collapseDocs(newToggle, "hide", pageId);
collapseDocs(newToggle, "hide");
}
}
};
@ -2513,7 +2509,7 @@ function defocusSearchBar() {
// In case the option "auto-collapse implementors" is not set to false, we collapse
// all implementors.
if (hideImplementors === true && e.parentNode.id === "implementors-list") {
collapseDocs(newToggle, "hide", pageId);
collapseDocs(newToggle, "hide");
}
}
};
@ -2527,7 +2523,7 @@ function defocusSearchBar() {
if (e.id.match(/^impl(?:-\d+)?$/) === null) {
// Automatically minimize all non-inherent impls
if (hasClass(e, "impl") === true) {
collapseDocs(newToggle, "hide", pageId);
collapseDocs(newToggle, "hide");
}
}
};
@ -2562,14 +2558,12 @@ function defocusSearchBar() {
}
onEachLazy(document.getElementsByClassName("impl-items"), function(e) {
onEachLazy(e.getElementsByClassName("associatedconstant"), func);
var hiddenElems = e.getElementsByClassName("hidden");
var needToggle = false;
var needToggle = onEachLazy(e.getElementsByClassName("hidden"), function(hiddenElem) {
if (hasClass(hiddenElem, "content") === false &&
hasClass(hiddenElem, "docblock") === false) {
return true;
}
// We transform the DOM iterator into a vec of DOM elements to prevent performance
// issues on webkit browsers.
var hiddenElems = Array.prototype.slice.call(e.getElementsByClassName("hidden"));
var needToggle = hiddenElems.some(function(hiddenElem) {
return hasClass(hiddenElem, "content") === false &&
hasClass(hiddenElem, "docblock") === false;
});
if (needToggle === true) {
var inner_toggle = newToggle.cloneNode(true);
@ -2672,10 +2666,10 @@ function defocusSearchBar() {
onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper);
onEachLazy(document.getElementsByClassName("sub-variant"), buildToggleWrapper);
autoCollapse(getSettingValue("collapse") === "true");
var pageId = getPageId();
autoCollapse(pageId, getSettingValue("collapse") === "true");
if (pageId !== null) {
expandSection(pageId);
}

View file

@ -1,5 +1,5 @@
// Local js definitions:
/* global getCurrentValue, getVirtualKey, updateLocalStorage, updateSystemTheme */
/* global getSettingValue, getVirtualKey, onEachLazy, updateLocalStorage, updateSystemTheme */
(function () {
function changeSetting(settingName, value) {

View file

@ -113,6 +113,8 @@ function createSidebarToggle() {
return sidebarToggle;
}
// This function is called from "source-files.js", generated in `html/render/mod.rs`.
// eslint-disable-next-line no-unused-vars
function createSourceSidebar() {
if (window.rootPath.endsWith("/") === false) {
window.rootPath += "/";

View file

@ -1,5 +1,5 @@
// From rust:
/* global resourcesSuffix, getSettingValue */
/* global resourcesSuffix */
var darkThemes = ["dark", "ayu"];
var currentTheme = document.getElementById("themeStyle");
@ -35,10 +35,12 @@ var localStoredTheme = getSettingValue("theme");
var savedHref = [];
// eslint-disable-next-line no-unused-vars
function hasClass(elem, className) {
return elem && elem.classList && elem.classList.contains(className);
}
// eslint-disable-next-line no-unused-vars
function addClass(elem, className) {
if (!elem || !elem.classList) {
return;
@ -46,6 +48,7 @@ function addClass(elem, className) {
elem.classList.add(className);
}
// eslint-disable-next-line no-unused-vars
function removeClass(elem, className) {
if (!elem || !elem.classList) {
return;
@ -81,6 +84,7 @@ function onEachLazy(lazyArray, func, reversed) {
reversed);
}
// eslint-disable-next-line no-unused-vars
function hasOwnProperty(obj, property) {
return Object.prototype.hasOwnProperty.call(obj, property);
}
@ -148,6 +152,8 @@ function switchTheme(styleElem, mainStyleElem, newTheme, saveTheme) {
}
}
// This function is called from "theme.js", generated in `html/render/mod.rs`.
// eslint-disable-next-line no-unused-vars
function useSystemTheme(value) {
if (value === undefined) {
value = true;
@ -172,7 +178,7 @@ var updateSystemTheme = (function() {
switchTheme(
currentTheme,
mainTheme,
JSON.parse(cssTheme) || light,
JSON.parse(cssTheme) || "light",
true
);
};