From 35df5f25c725841ce23c1bebb33bded3d552b0ba Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Fri, 4 Oct 2019 14:14:45 -0700 Subject: [PATCH] Show metadata in web interface, take one --- assets/index.css | 6 +++++- src/web/ui.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/assets/index.css b/assets/index.css index 14c45247..1eb5893f 100644 --- a/assets/index.css +++ b/assets/index.css @@ -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; } diff --git a/src/web/ui.rs b/src/web/ui.rs index edf0a6a6..9e4e345a 100644 --- a/src/web/ui.rs +++ b/src/web/ui.rs @@ -245,6 +245,50 @@ impl UiService { 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! {
  • { format!("{}", path.display()) }
  • }); + + html! { +
    + "contributing_paths: " +
      { Fragment::new(list) }
    +
    + } + }; + + let project_node = match &metadata.project_node { + None => HtmlContent::None, + Some(node) => html! { +
    "project node: " { format!("{:?}", node) }
    + }, + }; + + let content = html! { + <> +
    "ignore_unknown_instances: " { metadata.ignore_unknown_instances.to_string() }
    + { 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 UiService { { instance.name().to_owned() } { class_name_specifier } + { metadata_container } { property_container } { children_container }