protected internal virtual void addHtmlSections(HtmlDocumentBuilder builder, IDictionary <string, object> sections, int level) { foreach (string section in sections.Keys) { addHtmlSection(builder, section, sections[section], level); } }
public virtual string execute() { HtmlDocumentBuilder builder = new HtmlDocumentBuilder(new HtmlElementWriter("html")); addHtmlHead(builder); addHtmlBody(builder); return(builder.endElement().HtmlString); }
public virtual string execute() { HtmlDocumentBuilder documentBuilder = new HtmlDocumentBuilder(new HtmlElementWriter("html")); /// <summary> /// <head>...</head> </summary> documentBuilder.startElement(new HtmlElementWriter("head")).startElement((new HtmlElementWriter("title")).textContent(reportName)).endElement().startElement(new HtmlElementWriter("link") .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css")).endElement().startElement(new HtmlElementWriter("link") .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css")).endElement().endElement(); /// <summary> /// <body> </summary> HtmlDocumentBuilder bodyBuilder = documentBuilder.startElement(new HtmlElementWriter("body")).startElement((new HtmlElementWriter("div")).attribute("class", "container")); /// <summary> /// build Headline row </summary> bodyBuilder.startElement((new HtmlElementWriter("div")).attribute("class", "row")).startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12")).startElement((new HtmlElementWriter("h1")).textContent(reportName)).endElement().endElement().endElement(); if (!string.ReferenceEquals(jsonSourceFileName, null) || !string.ReferenceEquals(csvSourceFileName, null)) { HtmlDocumentBuilder sourceRow = bodyBuilder.startElement((new HtmlElementWriter("div")).attribute("class", "row")).startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12")).startElement(new HtmlElementWriter("p")); if (!string.ReferenceEquals(jsonSourceFileName, null)) { sourceRow.startElement(new HtmlElementWriter("a") .attribute("href", jsonSourceFileName).textContent("This Report as JSON")).endElement(); } if (!string.ReferenceEquals(jsonSourceFileName, null)) { sourceRow.startElement((new HtmlElementWriter("span")).textContent(" | ")).endElement(); } if (!string.ReferenceEquals(jsonSourceFileName, null)) { sourceRow.startElement(new HtmlElementWriter("a") .attribute("href", csvSourceFileName).textContent("This Report as CSV")).endElement(); } sourceRow.endElement().endElement().endElement(); } bodyBuilder.startElement((new HtmlElementWriter("div")).attribute("class", "row")).startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12")); writeResultTable(bodyBuilder); bodyBuilder.endElement().endElement(); /// <summary> /// </body> </summary> bodyBuilder.endElement().endElement(); return(documentBuilder.endElement().HtmlString); }
protected internal virtual void addHtmlBody(HtmlDocumentBuilder builder) { builder.startElement(new HtmlElementWriter("body")); builder.startElement((new HtmlElementWriter("div")).attribute("class", "container")); builder.startElement((new HtmlElementWriter("div")).attribute("class", "row")); builder.startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12")); builder.startElement((new HtmlElementWriter("h1")).textContent(reportName)).endElement(); addHtmlSections(builder, sections, 3); builder.endElement(); builder.endElement(); builder.endElement(); builder.endElement(); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @SuppressWarnings("unchecked") protected void addHtmlSection(org.camunda.bpm.engine.impl.form.engine.HtmlDocumentBuilder builder, String title, Object section, int level) protected internal virtual void addHtmlSection(HtmlDocumentBuilder builder, string title, object section, int level) { // add heading builder.startElement((new HtmlElementWriter("h" + level)).textContent(title)).endElement(); if (section is System.Collections.IDictionary) { IDictionary <string, object> sections = (IDictionary <string, object>)section; addHtmlSections(builder, sections, level + 1); } else { TabularResultSet resultSet = (TabularResultSet)section; addHtmlTable(builder, resultSet); } }
protected internal virtual void addHtmlTable(HtmlDocumentBuilder builder, TabularResultSet resultSet) { /// <summary> /// <table> </summary> builder.startElement((new HtmlElementWriter("table")).attribute("class", "table table-condensed table-hover table-bordered")); /// <summary> /// <tr> </summary> HtmlDocumentBuilder tableHeadRowBuilder = builder.startElement(new HtmlElementWriter("tr")); foreach (string columnName in resultSet.ResultColumnNames) { tableHeadRowBuilder.startElement((new HtmlElementWriter("th")).textContent(columnName)).endElement(); } /// <summary> /// </tr> </summary> tableHeadRowBuilder.endElement(); foreach (IList <object> resultRow in resultSet.Results) { /// <summary> /// <tr> </summary> HtmlDocumentBuilder tableRowBuilder = builder.startElement(new HtmlElementWriter("tr")); foreach (object value in resultRow) { if (value is TableCell) { tableRowBuilder.startElement(((TableCell)value).toHtmlElementWriter()).endElement(); } else { tableRowBuilder.startElement((new HtmlElementWriter("td")).textContent(value.ToString())).endElement(); } } /// <summary> /// </tr> </summary> tableRowBuilder.endElement(); } /// <summary> /// </table> </summary> builder.endElement(); }
protected internal virtual void writeResultTable(HtmlDocumentBuilder bodyBuilder) { /// <summary> /// <table> </summary> HtmlDocumentBuilder tableBuilder = bodyBuilder.startElement((new HtmlElementWriter("table")).attribute("class", "table table-condensed")); /// <summary> /// <tr> </summary> HtmlDocumentBuilder tableHeadRowBuilder = tableBuilder.startElement(new HtmlElementWriter("tr")); foreach (string columnName in resultSet.ResultColumnNames) { tableHeadRowBuilder.startElement((new HtmlElementWriter("th")).textContent(columnName)).endElement(); } if (!string.ReferenceEquals(resultsBaseFolder, null)) { tableHeadRowBuilder.startElement(new HtmlElementWriter("th", true)).endElement(); } /// <summary> /// </tr> </summary> tableHeadRowBuilder.endElement(); foreach (IList <object> resultRow in resultSet.Results) { /// <summary> /// <tr> </summary> HtmlDocumentBuilder tableRowBuilder = tableBuilder.startElement(new HtmlElementWriter("tr")); for (int i = 0; i < resultRow.Count; i++) { object value = resultRow[i]; if (i == 0 && isCreateImageLinks) { tableHeadRowBuilder.startElement(new HtmlElementWriter("td")).startElement(new HtmlElementWriter("a") .attribute("href", "images/" + value + ".png").textContent(value.ToString())).endElement().endElement(); } else { tableHeadRowBuilder.startElement((new HtmlElementWriter("td")).textContent(value.ToString())).endElement(); } } if (!string.ReferenceEquals(resultsBaseFolder, null)) { /// <summary> /// build link to Json file </summary> tableHeadRowBuilder.startElement(new HtmlElementWriter("td")).startElement(new HtmlElementWriter("a") .attribute("href", resultsBaseFolder + resultRow[0] + ".json").textContent("details")).endElement().endElement(); } /// <summary> /// </tr> </summary> tableRowBuilder.endElement(); } /// <summary> /// </table> </summary> tableBuilder.endElement(); }
protected internal virtual void addHtmlHead(HtmlDocumentBuilder builder) { builder.startElement(new HtmlElementWriter("head")).startElement((new HtmlElementWriter("title")).textContent(reportName)).endElement().startElement(new HtmlElementWriter("link") .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css")).endElement().startElement(new HtmlElementWriter("link") .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css")).endElement().endElement(); }
public virtual void testHtmlElementWriter() { var htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName")).EndElement() .HtmlString; AssertHtmlEquals("<someTagName></someTagName>", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName", true)).EndElement() .HtmlString; AssertHtmlEquals("<someTagName />", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName", true).Attribute("someAttr", "someAttrValue")) .EndElement() .HtmlString; AssertHtmlEquals("<someTagName someAttr=\"someAttrValue\" />", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").Attribute("someAttr", "someAttrValue")) .EndElement() .HtmlString; AssertHtmlEquals("<someTagName someAttr=\"someAttrValue\"></someTagName>", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").Attribute("someAttr", null)).EndElement() .HtmlString; AssertHtmlEquals("<someTagName someAttr></someTagName>", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").TextContent("someTextContent")).EndElement() .HtmlString; AssertHtmlEquals("<someTagName>someTextContent</someTagName>", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName")).StartElement( new HtmlElementWriter("someChildTag")) .EndElement() .EndElement() .HtmlString; AssertHtmlEquals("<someTagName><someChildTag></someChildTag></someTagName>", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName")).StartElement( new HtmlElementWriter("someChildTag").TextContent("someTextContent")) .EndElement() .EndElement() .HtmlString; AssertHtmlEquals("<someTagName><someChildTag>someTextContent</someChildTag></someTagName>", htmlString); htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").TextContent("someTextContent")) .StartElement(new HtmlElementWriter("someChildTag")) .EndElement() .EndElement() .HtmlString; AssertHtmlEquals("<someTagName><someChildTag></someChildTag>someTextContent</someTagName>", htmlString); // invalid usage try { new HtmlElementWriter("sometagname", true).TextContent("sometextcontet"); } catch (InvalidOperationException e) { Assert.True(e.Message.Contains("Self-closing element cannot have text content")); } }