use of org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel in project kindling by HL7.
the class PageProcessor method generateToc.
private String generateToc() throws Exception {
// return breadCrumbManager.makeToc();
List<String> entries = new ArrayList<String>();
entries.addAll(toc.keySet());
Collections.sort(entries, new SectionSorter());
Set<String> pages = new HashSet<String>();
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(folders.dstDir, false, true);
TableModel model = gen.new TableModel("toc", true);
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Table of Contents", "Table of Contents", null, 0));
Deque<TocItem> stack = new ArrayDeque<TocItem>();
for (String s : entries) {
TocEntry t = toc.get(s);
if (!t.isIg() && !s.startsWith("?")) {
String nd = s;
while (nd.endsWith(".0")) nd = nd.substring(0, nd.length() - 2);
int d = Utilities.charCount(nd, '.');
if (d < 4 && !pages.contains(t.getLink())) {
String np = getNormativePackageForPage(t.getLink());
pages.add(t.getLink());
while (!stack.isEmpty() && stack.getFirst().depth >= d) stack.pop();
Row row = gen.new Row();
row.setIcon("icon_page.gif", null);
String td = t.getText();
if (!stack.isEmpty()) {
if (td.startsWith(stack.getFirst().entry.getText() + " - "))
td = td.substring(stack.getFirst().entry.getText().length() + 3);
else if (td.startsWith(stack.getFirst().entry.getText()))
td = td.substring(stack.getFirst().entry.getText().length());
}
Cell cell = gen.new Cell(null, t.getLink(), nd + " " + td, t.getText() + " ", null);
row.getCells().add(cell);
if (np != null) {
cell.addPiece(gen.new Piece(null, " ", null));
cell.addPiece(gen.new Piece("versions.html#std-process", "basic".equals(np) ? "(Normative)" : "(Normative / " + Utilities.capitalize(np) + ")", null).addStyle("color: #008000"));
if (np.equals("infrastructure"))
row.setIcon("icon_page_n_i.gif", null);
else if (np.equals("conformance"))
row.setIcon("icon_page_n_c.gif", null);
else if (np.equals("patient"))
row.setIcon("icon_page_n_p.gif", null);
else if (np.equals("observation"))
row.setIcon("icon_page_n_o.gif", null);
else
row.setIcon("icon_page_n.gif", null);
} else {
cell.addPiece(gen.new Piece(null, " ", null));
cell.addPiece(gen.new Piece("versions.html#std-process", "(Trial Use)", null).addStyle("color: #b3b3b3"));
}
if (stack.isEmpty())
model.getRows().add(row);
else
stack.getFirst().row.getSubRows().add(row);
stack.push(new TocItem(t, row, d));
}
}
}
return new XhtmlComposer(XhtmlComposer.HTML).compose(gen.generate(model, "", 0, null));
}
use of org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel in project kindling by HL7.
the class ImplementationGuideDefn method genToc.
public TableModel genToc(HierarchicalTableGenerator gen, String id) throws FHIRException {
TableModel model = gen.new TableModel(id, true);
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Table Of Contents", null, null, 0));
addPage(gen, model.getRows(), ig.getDefinition().getPage());
return model;
}
use of org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel in project kindling by HL7.
the class ResourceDependencyGenerator method generate.
public XhtmlNode generate(ElementDefn e, String prefix) throws Exception {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(dest, inlineGraphics, true);
RenderMode mode = RenderMode.RESOURCE;
TableModel model = initTable(gen, prefix, mode == RenderMode.LOGICAL, e.getName());
model.getRows().add(genElement(e, gen, true, e.getName(), false, prefix, mode, true));
return gen.generate(model, prefix, 0, null);
}
use of org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel in project kindling by HL7.
the class ResourceTableGenerator method generate.
public XhtmlNode generate(ResourceDefn r, String prefix, boolean isActive) throws Exception {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(dest, inlineGraphics, true);
ElementDefn e = r.getRoot();
RenderMode mode = e.typeCode().equals("Logical") && hasLogicalMapping(e) ? RenderMode.LOGICAL : RenderMode.RESOURCE;
TableModel model = gen.initNormalTable(prefix, mode == RenderMode.LOGICAL, true, r.getName(), isActive);
model.getRows().add(genElement(e, gen, true, e.getName(), false, prefix, mode, true, r.getStatus(), r.isAbstract(), r.isInterface()));
return gen.generate(model, prefix, 0, null);
}
use of org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel in project kindling by HL7.
the class DataTypeTableGenerator method generate.
public XhtmlNode generate(ElementDefn e, Set<String> outputTracker, boolean isActive) throws Exception {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(dest, inlineGraphics, false);
TableModel model = gen.initNormalTable("", false, true, e.getName(), isActive);
model.getRows().add(genElement(e, gen, false, e.getName(), false, "", RenderMode.DATATYPE, true, e.getStandardsStatus(), e.isAbstractType(), false));
return gen.generate(model, "", 0, outputTracker);
}
Aggregations