@Override protected void writeData(Element body, DesignContext designContext) { getDataProvider().fetch(new HierarchicalQuery<>(null, null)) .forEach(item -> writeRow(body, item, null, designContext)); }
private void writeItems(Element design, DesignContext designContext) { getDataProvider().fetch(new HierarchicalQuery<>(null, null)) .forEach(item -> writeItem(design, designContext, item, null)); }
private void writeRow(Element container, T item, T parent, DesignContext context) { Element tableRow = container.appendElement("tr"); tableRow.attr("item", serializeDeclarativeRepresentation(item)); if (parent != null) { tableRow.attr("parent", serializeDeclarativeRepresentation(parent)); } if (getSelectionModel().isSelected(item)) { tableRow.attr("selected", true); } for (Column<T, ?> column : getColumns()) { Object value = column.getValueProvider().apply(item); tableRow.appendElement("td") .append(Optional.ofNullable(value).map(Object::toString) .map(DesignFormatter::encodeForTextNode) .orElse("")); } getDataProvider().fetch(new HierarchicalQuery<>(null, item)).forEach( childItem -> writeRow(container, childItem, item, context)); }
private void writeItem(Element design, DesignContext designContext, T item, T parent) { Element itemElement = design.appendElement("node"); itemElement.attr("item", serializeDeclarativeRepresentation(item)); if (parent != null) { itemElement.attr("parent", serializeDeclarativeRepresentation(parent)); } if (getSelectionModel().isSelected(item)) { itemElement.attr("selected", true); } Resource icon = getItemIconGenerator().apply(item); DesignAttributeHandler.writeAttribute("icon", itemElement.attributes(), icon, null, Resource.class, designContext); String text = getItemCaptionGenerator().apply(item); itemElement.html( Optional.ofNullable(text).map(Object::toString).orElse("")); getDataProvider().fetch(new HierarchicalQuery<>(null, item)).forEach( childItem -> writeItem(design, designContext, childItem, item)); }