rustdoc: clean up JS
* Stop checking `func` in `onEach`. It's always hard-coded right at the call site, so there's no point. * Use the ternary operator in a few spots where it makes sense. * No point in making `onEach` store `arr.length` in a variable if it's only used once anyway.
This commit is contained in:
parent
de74dab880
commit
815f5bbcc5
@ -332,13 +332,7 @@ function preLoadCss(cssUrl) {
|
||||
};
|
||||
|
||||
function getPageId() {
|
||||
if (window.location.hash) {
|
||||
const tmp = window.location.hash.replace(/^#/, "");
|
||||
if (tmp.length > 0) {
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return window.location.hash.replace(/^#/, "");
|
||||
}
|
||||
|
||||
const toggleAllDocsId = "toggle-all-docs";
|
||||
@ -707,7 +701,7 @@ function preLoadCss(cssUrl) {
|
||||
});
|
||||
|
||||
const pageId = getPageId();
|
||||
if (pageId !== null) {
|
||||
if (pageId !== "") {
|
||||
expandSection(pageId);
|
||||
}
|
||||
}());
|
||||
|
@ -86,12 +86,8 @@
|
||||
if (settingId === "theme") {
|
||||
const useSystem = getSettingValue("use-system-theme");
|
||||
if (useSystem === "true" || settingValue === null) {
|
||||
if (useSystem !== "false") {
|
||||
settingValue = "system preference";
|
||||
} else {
|
||||
// This is the default theme.
|
||||
settingValue = "light";
|
||||
}
|
||||
// "light" is the default theme
|
||||
settingValue = useSystem === "false" ? "light" : "system preference";
|
||||
}
|
||||
}
|
||||
if (settingValue !== null && settingValue !== "null") {
|
||||
|
@ -53,10 +53,9 @@ function removeClass(elem, className) {
|
||||
* @param {boolean} [reversed] - Whether to iterate in reverse
|
||||
*/
|
||||
function onEach(arr, func, reversed) {
|
||||
if (arr && arr.length > 0 && func) {
|
||||
if (arr && arr.length > 0) {
|
||||
if (reversed) {
|
||||
const length = arr.length;
|
||||
for (let i = length - 1; i >= 0; --i) {
|
||||
for (let i = arr.length - 1; i >= 0; --i) {
|
||||
if (func(arr[i])) {
|
||||
return true;
|
||||
}
|
||||
@ -150,26 +149,18 @@ const updateTheme = (function() {
|
||||
* … dictates that it should be.
|
||||
*/
|
||||
function updateTheme() {
|
||||
const use = (theme, saveTheme) => {
|
||||
switchTheme(theme, saveTheme);
|
||||
};
|
||||
|
||||
// maybe the user has disabled the setting in the meantime!
|
||||
if (getSettingValue("use-system-theme") !== "false") {
|
||||
const lightTheme = getSettingValue("preferred-light-theme") || "light";
|
||||
const darkTheme = getSettingValue("preferred-dark-theme") || "dark";
|
||||
|
||||
if (mql.matches) {
|
||||
use(darkTheme, true);
|
||||
} else {
|
||||
// prefers a light theme, or has no preference
|
||||
use(lightTheme, true);
|
||||
}
|
||||
// use light theme if user prefers it, or has no preference
|
||||
switchTheme(mql.matches ? darkTheme : lightTheme, true);
|
||||
// note: we save the theme so that it doesn't suddenly change when
|
||||
// the user disables "use-system-theme" and reloads the page or
|
||||
// navigates to another page
|
||||
} else {
|
||||
use(getSettingValue("theme"), false);
|
||||
switchTheme(getSettingValue("theme"), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user