Rollup merge of #59890 - GuillaumeGomez:empty-json-variables, r=QuietMisdreavus
Don't generate empty json variables r? @rust-lang/rustdoc
This commit is contained in:
commit
426ab8e018
2 changed files with 34 additions and 19 deletions
|
@ -1064,11 +1064,22 @@ themePicker.onblur = handleThemeButtonsBlur;
|
|||
.expect("invalid osstring conversion")))
|
||||
.collect::<Vec<_>>();
|
||||
files.sort_unstable_by(|a, b| a.cmp(b));
|
||||
// FIXME(imperio): we could avoid to generate "dirs" and "files" if they're empty.
|
||||
format!("{{\"name\":\"{name}\",\"dirs\":[{subs}],\"files\":[{files}]}}",
|
||||
let subs = subs.iter().map(|s| s.to_json_string()).collect::<Vec<_>>().join(",");
|
||||
let dirs = if subs.is_empty() {
|
||||
String::new()
|
||||
} else {
|
||||
format!(",\"dirs\":[{}]", subs)
|
||||
};
|
||||
let files = files.join(",");
|
||||
let files = if files.is_empty() {
|
||||
String::new()
|
||||
} else {
|
||||
format!(",\"files\":[{}]", files)
|
||||
};
|
||||
format!("{{\"name\":\"{name}\"{dirs}{files}}}",
|
||||
name=self.elem.to_str().expect("invalid osstring conversion"),
|
||||
subs=subs.iter().map(|s| s.to_json_string()).collect::<Vec<_>>().join(","),
|
||||
files=files.join(","))
|
||||
dirs=dirs,
|
||||
files=files)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -39,28 +39,32 @@ function createDirEntry(elem, parent, fullPath, currentFile, hasFoundFile) {
|
|||
children.className = "children";
|
||||
var folders = document.createElement("div");
|
||||
folders.className = "folders";
|
||||
for (var i = 0; i < elem.dirs.length; ++i) {
|
||||
if (createDirEntry(elem.dirs[i], folders, fullPath, currentFile,
|
||||
hasFoundFile) === true) {
|
||||
addClass(name, "expand");
|
||||
hasFoundFile = true;
|
||||
if (elem.dirs) {
|
||||
for (var i = 0; i < elem.dirs.length; ++i) {
|
||||
if (createDirEntry(elem.dirs[i], folders, fullPath, currentFile,
|
||||
hasFoundFile) === true) {
|
||||
addClass(name, "expand");
|
||||
hasFoundFile = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
children.appendChild(folders);
|
||||
|
||||
var files = document.createElement("div");
|
||||
files.className = "files";
|
||||
for (i = 0; i < elem.files.length; ++i) {
|
||||
var file = document.createElement("a");
|
||||
file.innerText = elem.files[i];
|
||||
file.href = window.rootPath + "src/" + fullPath + elem.files[i] + ".html";
|
||||
if (hasFoundFile === false &&
|
||||
currentFile === fullPath + elem.files[i]) {
|
||||
file.className = "selected";
|
||||
addClass(name, "expand");
|
||||
hasFoundFile = true;
|
||||
if (elem.files) {
|
||||
for (i = 0; i < elem.files.length; ++i) {
|
||||
var file = document.createElement("a");
|
||||
file.innerText = elem.files[i];
|
||||
file.href = window.rootPath + "src/" + fullPath + elem.files[i] + ".html";
|
||||
if (hasFoundFile === false &&
|
||||
currentFile === fullPath + elem.files[i]) {
|
||||
file.className = "selected";
|
||||
addClass(name, "expand");
|
||||
hasFoundFile = true;
|
||||
}
|
||||
files.appendChild(file);
|
||||
}
|
||||
files.appendChild(file);
|
||||
}
|
||||
search.fullPath = fullPath;
|
||||
children.appendChild(files);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue