use of com.vaadin.ui.AbstractLayout in project VaadinUtils by rlsutton1.
the class ContainerCSVExport method writeRow.
private void writeRow(CSVWriter writer, Table table, Object id, Set<Object> properties) {
Item item = table.getItem(id);
String[] values = new String[properties.size() + extraColumnHeadersAndPropertyIds.size()];
int i = 0;
for (Object propertyId : properties) {
@SuppressWarnings("rawtypes") final Property itemProperty = item.getItemProperty(propertyId);
if (itemProperty != null && itemProperty.getValue() != null) {
ColumnGenerator generator = table.getColumnGenerator(propertyId);
if (generator != null && itemProperty.getType() != Boolean.class) {
Object value = generator.generateCell(table, id, propertyId);
if (value instanceof Label) {
value = new HtmlToPlainText().getPlainText(Jsoup.parse(((Label) value).getValue()));
}
if (value instanceof AbstractLayout) {
value = new HtmlToPlainText().getPlainText(Jsoup.parse(itemProperty.getValue().toString()));
}
if (value instanceof Link) {
value = new HtmlToPlainText().getPlainText(Jsoup.parse(itemProperty.getValue().toString()));
}
if (value != null) {
values[i++] = value.toString();
}
} else {
values[i++] = itemProperty.getValue().toString();
}
} else {
ColumnGenerator generator = table.getColumnGenerator(propertyId);
if (generator != null) {
Object value = generator.generateCell(table, id, propertyId);
if (value != null) {
if (value instanceof ClickableLabel) {
value = new HtmlToPlainText().getPlainText(Jsoup.parse(((ClickableLabel) value).getValue()));
}
if (value instanceof Label) {
value = new HtmlToPlainText().getPlainText(Jsoup.parse(((Label) value).getValue()));
// value = ((Label) value).getValue();
}
if (value instanceof AbstractLayout) {
// set a string using setData() on the layout.
if (((AbstractLayout) value).getData() instanceof ContainerCSVExportData) {
value = ((AbstractLayout) value).getData().toString();
} else {
value = "";
}
}
if (value instanceof Link) {
value = new HtmlToPlainText().getPlainText(Jsoup.parse(((Link) value).getCaption()));
}
}
if (value == null) {
value = "";
}
values[i++] = value.toString();
} else {
values[i++] = "";
}
}
}
for (Object columnId : extraColumnHeadersAndPropertyIds.values()) {
String value = getValueForExtraColumn(item, columnId);
if (value == null) {
value = "";
}
values[i++] = value;
}
writer.writeNext(values);
}
use of com.vaadin.ui.AbstractLayout in project VaadinUtils by rlsutton1.
the class SearchableSelectableEntityTable method buildSearchBar.
protected AbstractLayout buildSearchBar() {
VerticalLayout layout = new VerticalLayout();
layout.setWidth(100, Unit.PERCENTAGE);
searchField.setWidth(100, Unit.PERCENTAGE);
searchBar = layout;
HorizontalLayout basicSearchLayout = new HorizontalLayout();
basicSearchLayout.setWidth(100, Unit.PERCENTAGE);
layout.addComponent(basicSearchLayout);
AbstractLayout advancedSearch = buildAdvancedSearch();
if (advancedSearch != null) {
basicSearchLayout.addComponent(advancedSearchCheckbox);
}
searchField.setInputPrompt("Search");
searchField.setId("searchField");
searchField.setTextChangeEventMode(TextChangeEventMode.LAZY);
searchField.setImmediate(true);
searchField.addTextChangeListener(new TextChangeListener() {
private static final long serialVersionUID = 1L;
@Override
public void textChange(final TextChangeEvent event) {
filterString = event.getText().trim();
triggerFilter(filterString);
}
});
// clear button
Button clear = createClearButton();
basicSearchLayout.addComponent(clear);
basicSearchLayout.setComponentAlignment(clear, Alignment.MIDDLE_CENTER);
basicSearchLayout.addComponent(searchField);
basicSearchLayout.setExpandRatio(searchField, 1.0f);
searchField.focus();
return layout;
}
Aggregations