Show metadata in web interface, take one

This commit is contained in:
Lucien Greathouse
2019-10-04 14:14:45 -07:00
parent cd84fb9fc1
commit 35df5f25c7
2 changed files with 50 additions and 1 deletions

View File

@@ -24,7 +24,7 @@ img {
}
.path-list > li {
margin-left: 1rem;
margin-left: 1.2em;
font-family: monospace;
}
@@ -106,6 +106,10 @@ img {
padding: 0.5rem;
}
.instance-metadata {
padding: 0.5rem;
}
.instance-properties {
padding: 0.5rem;
}

View File

@@ -245,6 +245,50 @@ impl<F: ImfsFetcher> UiService<F> {
section.render()
};
let metadata_container = {
let metadata = instance.metadata();
let contributing_paths = if metadata.contributing_paths.is_empty() {
HtmlContent::None
} else {
let list = metadata
.contributing_paths
.iter()
.map(|path| html! { <li>{ format!("{}", path.display()) }</li> });
html! {
<div>
"contributing_paths: "
<ul class="path-list">{ Fragment::new(list) }</ul>
</div>
}
};
let project_node = match &metadata.project_node {
None => HtmlContent::None,
Some(node) => html! {
<div>"project node: " { format!("{:?}", node) }</div>
},
};
let content = html! {
<>
<div>"ignore_unknown_instances: " { metadata.ignore_unknown_instances.to_string() }</div>
{ contributing_paths }
</>
};
let section = ExpandableSection {
title: "Metadata",
class_name: "instance-metadata",
id,
expanded: false,
content,
};
section.render()
};
let class_name_specifier = if instance.name() == instance.class_name() {
HtmlContent::None
} else {
@@ -261,6 +305,7 @@ impl<F: ImfsFetcher> UiService<F> {
{ instance.name().to_owned() }
{ class_name_specifier }
</label>
{ metadata_container }
{ property_container }
{ children_container }
</div>