public TextTableRenderer(ITabularParameterDetails table) { _renderRowStatus = table.VerificationStatus != ParameterVerificationStatus.NotApplicable; _columns = table.Columns.Select(c => new TextColumn(c.Name)).ToArray(); foreach (var row in table.Rows) { AddRow(row); } }
private static XElement ToXElement(ITabularParameterDetails tabularDetails) { var objects = new List <object> { ToXAttribute(tabularDetails.VerificationStatus) }; if (!string.IsNullOrWhiteSpace(tabularDetails.VerificationMessage)) { objects.Add(new XAttribute("Message", tabularDetails.VerificationMessage)); } objects.AddRange(tabularDetails.Columns.Select(ToXElement)); objects.AddRange(tabularDetails.Rows.Select(ToXElement)); return(new XElement("Table", objects)); }
private static IEnumerable <IHtmlNode> GetParameterTable(ITabularParameterDetails table) { var columns = table.Columns.Select(col => Html.Tag(Html5Tag.Th).Class(col.IsKey ? "param column key" : "param column value").Content(col.Name)).ToList(); var renderRowStatus = table.VerificationStatus != ParameterVerificationStatus.NotApplicable; if (renderRowStatus) { columns.Insert(0, Html.Tag(Html5Tag.Th).Class("param column").Content("#")); } yield return(Html.Tag(Html5Tag.Thead) .Content(Html.Tag(Html5Tag.Tr) .Content(columns))); yield return(Html.Tag(Html5Tag.Tbody).Content(table.Rows.Select(row => GetParameterTableRow(row, renderRowStatus)))); }
private static IHtmlNode GetTabularParameter(string parameterName, ITabularParameterDetails table) { return(Html.Tag(Html5Tag.Div).Class("param").Content( Html.Tag(Html5Tag.Div).Content($"{parameterName}:"), Html.Tag(Html5Tag.Table).Class("param").Content(GetParameterTable(table)))); }