Skip to content

Commit 042facb

Browse files
Fix some bugs reported by eslint
1 parent b814b63 commit 042facb

File tree

4 files changed

+33
-31
lines changed

4 files changed

+33
-31
lines changed

src/librustdoc/html/static/main.js

+22-28
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
// From rust:
2-
/* global ALIASES */
3-
41
// Local js definitions:
5-
/* global addClass, getCurrentValue, hasClass */
6-
/* global onEachLazy, hasOwnProperty, removeClass, updateLocalStorage */
2+
/* global addClass, getSettingValue, hasClass */
3+
/* global onEach, onEachLazy, hasOwnProperty, removeClass, updateLocalStorage */
74
/* global hideThemeButtonState, showThemeButtonState */
85

96
if (!String.prototype.startsWith) {
@@ -2214,7 +2211,7 @@ function defocusSearchBar() {
22142211
}
22152212
}
22162213

2217-
function toggleAllDocs(pageId, fromAutoCollapse) {
2214+
function toggleAllDocs(fromAutoCollapse) {
22182215
var innerToggle = document.getElementById(toggleAllDocsId);
22192216
if (!innerToggle) {
22202217
return;
@@ -2257,14 +2254,14 @@ function defocusSearchBar() {
22572254
}
22582255
if (!parent || !superParent || superParent.id !== "main" ||
22592256
hasClass(parent, "impl") === false) {
2260-
collapseDocs(e, "hide", pageId);
2257+
collapseDocs(e, "hide");
22612258
}
22622259
});
22632260
}
22642261
}
22652262
}
22662263

2267-
function collapseDocs(toggle, mode, pageId) {
2264+
function collapseDocs(toggle, mode) {
22682265
if (!toggle || !toggle.parentNode) {
22692266
return;
22702267
}
@@ -2384,35 +2381,35 @@ function defocusSearchBar() {
23842381
}
23852382
}
23862383

2387-
function collapser(pageId, e, collapse) {
2384+
function collapser(e, collapse) {
23882385
// inherent impl ids are like "impl" or impl-<number>'.
23892386
// they will never be hidden by default.
23902387
var n = e.parentElement;
23912388
if (n.id.match(/^impl(?:-\d+)?$/) === null) {
23922389
// Automatically minimize all non-inherent impls
23932390
if (collapse || hasClass(n, "impl")) {
2394-
collapseDocs(e, "hide", pageId);
2391+
collapseDocs(e, "hide");
23952392
}
23962393
}
23972394
}
23982395

2399-
function autoCollapse(pageId, collapse) {
2396+
function autoCollapse(collapse) {
24002397
if (collapse) {
2401-
toggleAllDocs(pageId, true);
2398+
toggleAllDocs(true);
24022399
} else if (getSettingValue("auto-hide-trait-implementations") !== "false") {
24032400
var impl_list = document.getElementById("trait-implementations-list");
24042401

24052402
if (impl_list !== null) {
24062403
onEachLazy(impl_list.getElementsByClassName("collapse-toggle"), function(e) {
2407-
collapser(pageId, e, collapse);
2404+
collapser(e, collapse);
24082405
});
24092406
}
24102407

24112408
var blanket_list = document.getElementById("blanket-implementations-list");
24122409

24132410
if (blanket_list !== null) {
24142411
onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"), function(e) {
2415-
collapser(pageId, e, collapse);
2412+
collapser(e, collapse);
24162413
});
24172414
}
24182415
}
@@ -2475,7 +2472,6 @@ function defocusSearchBar() {
24752472
var toggle = createSimpleToggle(false);
24762473
var hideMethodDocs = getSettingValue("auto-hide-method-docs") === "true";
24772474
var hideImplementors = getSettingValue("auto-collapse-implementors") !== "false";
2478-
var pageId = getPageId();
24792475

24802476
var func = function(e) {
24812477
var next = e.nextElementSibling;
@@ -2489,7 +2485,7 @@ function defocusSearchBar() {
24892485
var newToggle = toggle.cloneNode(true);
24902486
insertAfter(newToggle, e.childNodes[e.childNodes.length - 1]);
24912487
if (hideMethodDocs === true && hasClass(e, "method") === true) {
2492-
collapseDocs(newToggle, "hide", pageId);
2488+
collapseDocs(newToggle, "hide");
24932489
}
24942490
}
24952491
};
@@ -2513,7 +2509,7 @@ function defocusSearchBar() {
25132509
// In case the option "auto-collapse implementors" is not set to false, we collapse
25142510
// all implementors.
25152511
if (hideImplementors === true && e.parentNode.id === "implementors-list") {
2516-
collapseDocs(newToggle, "hide", pageId);
2512+
collapseDocs(newToggle, "hide");
25172513
}
25182514
}
25192515
};
@@ -2527,7 +2523,7 @@ function defocusSearchBar() {
25272523
if (e.id.match(/^impl(?:-\d+)?$/) === null) {
25282524
// Automatically minimize all non-inherent impls
25292525
if (hasClass(e, "impl") === true) {
2530-
collapseDocs(newToggle, "hide", pageId);
2526+
collapseDocs(newToggle, "hide");
25312527
}
25322528
}
25332529
};
@@ -2562,14 +2558,12 @@ function defocusSearchBar() {
25622558
}
25632559
onEachLazy(document.getElementsByClassName("impl-items"), function(e) {
25642560
onEachLazy(e.getElementsByClassName("associatedconstant"), func);
2565-
var hiddenElems = e.getElementsByClassName("hidden");
2566-
var needToggle = false;
2567-
2568-
var needToggle = onEachLazy(e.getElementsByClassName("hidden"), function(hiddenElem) {
2569-
if (hasClass(hiddenElem, "content") === false &&
2570-
hasClass(hiddenElem, "docblock") === false) {
2571-
return true;
2572-
}
2561+
// We transform the DOM iterator into a vec of DOM elements to prevent performance
2562+
// issues on webkit browsers.
2563+
var hiddenElems = Array.prototype.slice.call(e.getElementsByClassName("hidden"));
2564+
var needToggle = hiddenElems.some(function(hiddenElem) {
2565+
return hasClass(hiddenElem, "content") === false &&
2566+
hasClass(hiddenElem, "docblock") === false;
25732567
});
25742568
if (needToggle === true) {
25752569
var inner_toggle = newToggle.cloneNode(true);
@@ -2672,10 +2666,10 @@ function defocusSearchBar() {
26722666

26732667
onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper);
26742668
onEachLazy(document.getElementsByClassName("sub-variant"), buildToggleWrapper);
2675-
var pageId = getPageId();
26762669

2677-
autoCollapse(pageId, getSettingValue("collapse") === "true");
2670+
autoCollapse(getSettingValue("collapse") === "true");
26782671

2672+
var pageId = getPageId();
26792673
if (pageId !== null) {
26802674
expandSection(pageId);
26812675
}

src/librustdoc/html/static/settings.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Local js definitions:
2-
/* global getCurrentValue, getVirtualKey, updateLocalStorage, updateSystemTheme */
2+
/* global getSettingValue, getVirtualKey, onEachLazy, updateLocalStorage, updateSystemTheme */
33

44
(function () {
55
function changeSetting(settingName, value) {

src/librustdoc/html/static/source-script.js

+2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ function createSidebarToggle() {
113113
return sidebarToggle;
114114
}
115115

116+
// This function is called from "source-files.js", generated in `html/render/mod.rs`.
117+
// eslint-disable-next-line no-unused-vars
116118
function createSourceSidebar() {
117119
if (window.rootPath.endsWith("/") === false) {
118120
window.rootPath += "/";

src/librustdoc/html/static/storage.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// From rust:
2-
/* global resourcesSuffix, getSettingValue */
2+
/* global resourcesSuffix */
33

44
var darkThemes = ["dark", "ayu"];
55
var currentTheme = document.getElementById("themeStyle");
@@ -35,17 +35,20 @@ var localStoredTheme = getSettingValue("theme");
3535

3636
var savedHref = [];
3737

38+
// eslint-disable-next-line no-unused-vars
3839
function hasClass(elem, className) {
3940
return elem && elem.classList && elem.classList.contains(className);
4041
}
4142

43+
// eslint-disable-next-line no-unused-vars
4244
function addClass(elem, className) {
4345
if (!elem || !elem.classList) {
4446
return;
4547
}
4648
elem.classList.add(className);
4749
}
4850

51+
// eslint-disable-next-line no-unused-vars
4952
function removeClass(elem, className) {
5053
if (!elem || !elem.classList) {
5154
return;
@@ -81,6 +84,7 @@ function onEachLazy(lazyArray, func, reversed) {
8184
reversed);
8285
}
8386

87+
// eslint-disable-next-line no-unused-vars
8488
function hasOwnProperty(obj, property) {
8589
return Object.prototype.hasOwnProperty.call(obj, property);
8690
}
@@ -148,6 +152,8 @@ function switchTheme(styleElem, mainStyleElem, newTheme, saveTheme) {
148152
}
149153
}
150154

155+
// This function is called from "theme.js", generated in `html/render/mod.rs`.
156+
// eslint-disable-next-line no-unused-vars
151157
function useSystemTheme(value) {
152158
if (value === undefined) {
153159
value = true;
@@ -172,7 +178,7 @@ var updateSystemTheme = (function() {
172178
switchTheme(
173179
currentTheme,
174180
mainTheme,
175-
JSON.parse(cssTheme) || light,
181+
JSON.parse(cssTheme) || "light",
176182
true
177183
);
178184
};

0 commit comments

Comments
 (0)