List of usage examples for com.vaadin.v7.ui.renderers HtmlRenderer HtmlRenderer
public HtmlRenderer()
From source file:de.symeda.sormas.ui.configuration.outbreak.OutbreakOverviewGrid.java
License:Open Source License
public OutbreakOverviewGrid() { super();/* w w w . j a v a2 s. co m*/ setSizeFull(); setSelectionMode(SelectionMode.NONE); user = UserProvider.getCurrent().getUser(); addColumn(REGION, RegionReferenceDto.class).setMaximumWidth(200); getColumn(REGION).setHeaderCaption(I18nProperties.getCaption(Captions.region)); for (Disease disease : FacadeProvider.getDiseaseConfigurationFacade().getAllActivePrimaryDiseases()) { addColumn(disease, OutbreakRegionConfiguration.class).setMaximumWidth(200) .setHeaderCaption(disease.toShortString()) .setConverter(new Converter<String, OutbreakRegionConfiguration>() { @Override public OutbreakRegionConfiguration convertToModel(String value, Class<? extends OutbreakRegionConfiguration> targetType, Locale locale) throws ConversionException { throw new UnsupportedOperationException( "Can only convert from OutbreakRegionConfiguration to String"); } @Override public String convertToPresentation(OutbreakRegionConfiguration value, Class<? extends String> targetType, Locale locale) throws ConversionException { boolean styleAsButton = UserProvider.getCurrent() .hasUserRight(UserRight.OUTBREAK_CONFIGURE_ALL) || (UserProvider.getCurrent() .hasUserRight(UserRight.OUTBREAK_CONFIGURE_RESTRICTED) && UserProvider.getCurrent().getUser().getRegion() .equals(value.getRegion())); boolean moreThanHalfOfDistricts = value.getAffectedDistricts() .size() >= value.getTotalDistricts() / 2.0f; String styles; if (styleAsButton) { if (moreThanHalfOfDistricts) { styles = CssStyles.buildVaadinStyle(CssStyles.VAADIN_BUTTON, CssStyles.BUTTON_CRITICAL); } else if (!value.getAffectedDistricts().isEmpty()) { styles = CssStyles.buildVaadinStyle(CssStyles.VAADIN_BUTTON, CssStyles.BUTTON_WARNING); } else { styles = CssStyles.buildVaadinStyle(CssStyles.VAADIN_BUTTON); } } else { if (moreThanHalfOfDistricts) { styles = CssStyles.buildVaadinStyle(CssStyles.VAADIN_LABEL, CssStyles.LABEL_CRITICAL); } else if (!value.getAffectedDistricts().isEmpty()) { styles = CssStyles.buildVaadinStyle(CssStyles.VAADIN_LABEL, CssStyles.LABEL_WARNING); } else { styles = CssStyles.buildVaadinStyle(CssStyles.VAADIN_LABEL); } } return LayoutUtil.divCss(styles, value.toString()); } @Override public Class<OutbreakRegionConfiguration> getModelType() { return OutbreakRegionConfiguration.class; } @Override public Class<String> getPresentationType() { return String.class; } }).setRenderer(new HtmlRenderer()); } setCellDescriptionGenerator(cell -> getCellDescription(cell)); setCellStyleGenerator(new CellStyleGenerator() { @Override public String getStyle(CellReference cell) { if (cell.getProperty().getValue() instanceof OutbreakRegionConfiguration) { return CssStyles.ALIGN_CENTER; } return null; } }); addItemClickListener(this); }
From source file:de.symeda.sormas.ui.dashboard.DiseaseBurdenGrid.java
License:Open Source License
public DiseaseBurdenGrid() { setSizeFull();// w w w . j a v a 2s. c o m BeanItemContainer<DiseaseBurdenDto> container = new BeanItemContainer<DiseaseBurdenDto>( DiseaseBurdenDto.class); GeneratedPropertyContainer generatedContainer = new GeneratedPropertyContainer(container); setContainerDataSource(generatedContainer); setColumns(/* VIEW_DETAILS_BTN_ID, */ DiseaseBurdenDto.DISEASE, DiseaseBurdenDto.CASE_COUNT, DiseaseBurdenDto.PREVIOUS_CASE_COUNT, DiseaseBurdenDto.CASES_DIFFERENCE_PERCENTAGE, DiseaseBurdenDto.EVENT_COUNT, DiseaseBurdenDto.OUTBREAK_DISTRICT_COUNT, DiseaseBurdenDto.CASE_DEATH_COUNT, DiseaseBurdenDto.CASE_FATALITY_RATE); for (Column column : getColumns()) { if (column.getPropertyId().equals(VIEW_DETAILS_BTN_ID)) { column.setHeaderCaption(""); } else { column.setHeaderCaption(I18nProperties.getPrefixCaption(DiseaseBurdenDto.I18N_PREFIX, column.getPropertyId().toString(), column.getHeaderCaption())); } } getColumn(DiseaseBurdenDto.CASES_DIFFERENCE_PERCENTAGE).setHeaderCaption( I18nProperties.getPrefixCaption(DiseaseBurdenDto.I18N_PREFIX, DiseaseBurdenDto.CASES_DIFFERENCE)); // format columns getColumn(DiseaseBurdenDto.CASE_FATALITY_RATE).setRenderer(new PercentageRenderer()); // format casesGrowth column with chevrons getColumn(DiseaseBurdenDto.CASES_DIFFERENCE_PERCENTAGE).setConverter(new StringToFloatConverter() { @Override public String convertToPresentation(Float value, Class<? extends String> targetType, Locale locale) throws ConversionException { String stringRepresentation = super.convertToPresentation(value, targetType, locale); String chevronType = ""; String criticalLevel = ""; if (value > 0) { chevronType = VaadinIcons.CHEVRON_UP.getHtml(); criticalLevel = CssStyles.LABEL_CRITICAL; } else if (value < 0) { chevronType = VaadinIcons.CHEVRON_DOWN.getHtml(); criticalLevel = CssStyles.LABEL_POSITIVE; } else { chevronType = VaadinIcons.CHEVRON_RIGHT.getHtml(); criticalLevel = CssStyles.LABEL_IMPORTANT; } String strValue = "" + Math.abs(value); if (strValue.equals("100.0")) strValue = "100"; // or use below to remove insignificant decimals // if (strValue.endsWith(".0")) // strValue = strValue.substring(0, strValue.length() - 3); stringRepresentation = "<div style=\"width:100%\">" + "<div class=\"\" style=\"display: inline-block;margin-top: 2px;width: 70%;text-align:left;\">" + strValue + "%" + "</div>" + "<div class=\"v-label v-widget " + criticalLevel + " v-label-" + criticalLevel + " align-center v-label-align-center bold v-label-bold large v-label-large v-has-width\" " + " style=\"width: 15px;width: 30%;text-align: left;\">" + "<span class=\"v-icon\" style=\"font-family: VaadinIcons;\">" + chevronType + "</span>" + "</div>" + "</div>"; return stringRepresentation; } }).setRenderer(new HtmlRenderer()); setSelectionMode(SelectionMode.NONE); }
From source file:de.symeda.sormas.ui.person.PersonGrid.java
License:Open Source License
private void buildGrid() { setSizeFull();//from ww w.j a v a 2 s.c o m setSelectionMode(SelectionMode.SINGLE); setHeightMode(HeightMode.ROW); BeanItemContainer<PersonIndexDto> container = new BeanItemContainer<PersonIndexDto>(PersonIndexDto.class); GeneratedPropertyContainer generatedContainer = new GeneratedPropertyContainer(container); setContainerDataSource(generatedContainer); generatedContainer.addGeneratedProperty(CASE_LOC, new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { PersonIndexDto person = (PersonIndexDto) itemId; if (person.getCaseDisease() != null) { return "<a href='" + Page.getCurrent().getLocation() + "/data/" + person.getCaseUuid() + "' target='_blank'>" + person.getCaseDisease().toShortString() + " (" + DateHelper.formatLocalShortDate(person.getCaseDiseaseStartDate()) + ")</a>"; } else { return ""; } } @Override public Class<String> getType() { return String.class; } }); setColumns(PersonIndexDto.FIRST_NAME, PersonIndexDto.LAST_NAME, PersonIndexDto.NICKNAME, PersonIndexDto.APPROXIMATE_AGE, PersonIndexDto.SEX, PersonIndexDto.PRESENT_CONDITION, PersonIndexDto.DISTRICT_NAME, PersonIndexDto.COMMUNITY_NAME, PersonIndexDto.CITY, CASE_LOC); for (Column column : getColumns()) { column.setHeaderCaption(I18nProperties.getPrefixCaption(PersonIndexDto.I18N_PREFIX, column.getPropertyId().toString(), column.getHeaderCaption())); } getColumn(PersonIndexDto.FIRST_NAME).setMinimumWidth(150); getColumn(PersonIndexDto.LAST_NAME).setMinimumWidth(150); getColumn(CASE_LOC).setRenderer(new HtmlRenderer()); getColumn(CASE_LOC).setHeaderCaption(I18nProperties.getPrefixCaption(PersonIndexDto.I18N_PREFIX, associatedCase == null ? PersonIndexDto.LAST_DISEASE : PersonIndexDto.MATCHING_CASE)); }
From source file:de.symeda.sormas.ui.reports.WeeklyReportOfficersGrid.java
License:Open Source License
public WeeklyReportOfficersGrid() { setSizeFull();//from w ww. ja v a 2s .c o m BeanItemContainer<WeeklyReportOfficerSummaryDto> container = new BeanItemContainer<WeeklyReportOfficerSummaryDto>( WeeklyReportOfficerSummaryDto.class); GeneratedPropertyContainer generatedContainer = new GeneratedPropertyContainer(container); setContainerDataSource(generatedContainer); generatedContainer.addGeneratedProperty(VIEW_DETAILS_BTN_ID, new PropertyValueGenerator<String>() { @Override public String getValue(Item item, Object itemId, Object propertyId) { if (((WeeklyReportOfficerSummaryDto) itemId).getInformants() > 0) { return VaadinIcons.EYE.getHtml(); } else { return ""; } } @Override public Class<String> getType() { return String.class; } }); setColumns(VIEW_DETAILS_BTN_ID, WeeklyReportOfficerSummaryDto.OFFICER, WeeklyReportOfficerSummaryDto.DISTRICT, WeeklyReportOfficerSummaryDto.OFFICER_REPORT_DATE, WeeklyReportOfficerSummaryDto.TOTAL_CASE_COUNT, WeeklyReportOfficerSummaryDto.INFORMANTS, WeeklyReportOfficerSummaryDto.INFORMANT_REPORTS, WeeklyReportOfficerSummaryDto.INFORMANT_REPORT_PERCENTAGE, WeeklyReportOfficerSummaryDto.INFORMANT_ZERO_REPORTS); for (Column column : getColumns()) { if (column.getPropertyId().equals(VIEW_DETAILS_BTN_ID)) { column.setHeaderCaption(""); } else { column.setHeaderCaption(I18nProperties.getPrefixCaption(WeeklyReportOfficerSummaryDto.I18N_PREFIX, column.getPropertyId().toString(), column.getHeaderCaption())); } } HeaderRow headerRow = getHeaderRow(0); headerRow.getCell(WeeklyReportOfficerSummaryDto.INFORMANTS).setStyleName(CssStyles.GRID_CELL_ODD); headerRow.getCell(WeeklyReportOfficerSummaryDto.INFORMANT_REPORTS).setStyleName(CssStyles.GRID_CELL_ODD); headerRow.getCell(WeeklyReportOfficerSummaryDto.INFORMANT_REPORT_PERCENTAGE) .setStyleName(CssStyles.GRID_CELL_ODD); headerRow.getCell(WeeklyReportOfficerSummaryDto.INFORMANT_ZERO_REPORTS) .setStyleName(CssStyles.GRID_CELL_ODD); HeaderRow preHeaderRow = prependHeaderRow(); HeaderCell preHeaderCell = preHeaderRow.join(WeeklyReportOfficerSummaryDto.INFORMANTS, WeeklyReportOfficerSummaryDto.INFORMANT_REPORTS, WeeklyReportOfficerSummaryDto.INFORMANT_REPORT_PERCENTAGE, WeeklyReportOfficerSummaryDto.INFORMANT_ZERO_REPORTS); preHeaderCell.setHtml(I18nProperties.getCaption(Captions.weeklyReportOfficerInformants)); preHeaderCell.setStyleName(CssStyles.GRID_CELL_ODD); getColumn(VIEW_DETAILS_BTN_ID).setRenderer(new HtmlRenderer()); getColumn(VIEW_DETAILS_BTN_ID).setWidth(60); getColumn(WeeklyReportOfficerSummaryDto.OFFICER_REPORT_DATE) .setRenderer(new HtmlRenderer(I18nProperties.getCaption(Captions.weeklyReportNoReport))); getColumn(WeeklyReportOfficerSummaryDto.INFORMANT_REPORT_PERCENTAGE).setRenderer(new PercentageRenderer()); setCellStyleGenerator(new WeeklyReportGridCellStyleGenerator()); setSelectionMode(SelectionMode.NONE); addItemClickListener(this); }
From source file:de.symeda.sormas.ui.reports.WeeklyReportRegionsGrid.java
License:Open Source License
public WeeklyReportRegionsGrid() { setSizeFull();/*from w ww . j a v a 2 s. c om*/ BeanItemContainer<WeeklyReportRegionSummaryDto> container = new BeanItemContainer<WeeklyReportRegionSummaryDto>( WeeklyReportRegionSummaryDto.class); GeneratedPropertyContainer generatedContainer = new GeneratedPropertyContainer(container); VaadinUiUtil.addIconColumn(generatedContainer, VIEW_DETAILS_BTN_ID, VaadinIcons.EYE); setContainerDataSource(generatedContainer); setColumns(VIEW_DETAILS_BTN_ID, WeeklyReportRegionSummaryDto.REGION, WeeklyReportRegionSummaryDto.OFFICERS, WeeklyReportRegionSummaryDto.OFFICER_REPORTS, WeeklyReportRegionSummaryDto.OFFICER_REPORT_PERCENTAGE, WeeklyReportRegionSummaryDto.OFFICER_ZERO_REPORTS, WeeklyReportRegionSummaryDto.INFORMANTS, WeeklyReportRegionSummaryDto.INFORMANT_REPORTS, WeeklyReportRegionSummaryDto.INFORMANT_REPORT_PERCENTAGE, WeeklyReportRegionSummaryDto.INFORMANT_ZERO_REPORTS); for (Column column : getColumns()) { if (column.getPropertyId().equals(VIEW_DETAILS_BTN_ID)) { column.setHeaderCaption(""); } else { column.setHeaderCaption(I18nProperties.getPrefixCaption(WeeklyReportRegionSummaryDto.I18N_PREFIX, column.getPropertyId().toString(), column.getHeaderCaption())); } } HeaderRow headerRow = getHeaderRow(0); headerRow.getCell(WeeklyReportRegionSummaryDto.OFFICERS).setStyleName(CssStyles.GRID_CELL_ODD); headerRow.getCell(WeeklyReportRegionSummaryDto.OFFICER_REPORTS).setStyleName(CssStyles.GRID_CELL_ODD); headerRow.getCell(WeeklyReportRegionSummaryDto.OFFICER_REPORT_PERCENTAGE) .setStyleName(CssStyles.GRID_CELL_ODD); headerRow.getCell(WeeklyReportRegionSummaryDto.OFFICER_ZERO_REPORTS).setStyleName(CssStyles.GRID_CELL_ODD); HeaderRow preHeaderRow = prependHeaderRow(); HeaderCell preHeaderCell = preHeaderRow.join(WeeklyReportRegionSummaryDto.OFFICERS, WeeklyReportRegionSummaryDto.OFFICER_REPORTS, WeeklyReportRegionSummaryDto.OFFICER_REPORT_PERCENTAGE, WeeklyReportRegionSummaryDto.OFFICER_ZERO_REPORTS); preHeaderCell.setHtml(I18nProperties.getCaption(Captions.weeklyReportRegionOfficers)); preHeaderCell.setStyleName(CssStyles.GRID_CELL_ODD); preHeaderRow .join(WeeklyReportRegionSummaryDto.INFORMANTS, WeeklyReportRegionSummaryDto.INFORMANT_REPORTS, WeeklyReportRegionSummaryDto.INFORMANT_REPORT_PERCENTAGE, WeeklyReportRegionSummaryDto.INFORMANT_ZERO_REPORTS) .setHtml(I18nProperties.getCaption(Captions.weeklyReportRegionInformants)); getColumn(VIEW_DETAILS_BTN_ID).setRenderer(new HtmlRenderer()); getColumn(VIEW_DETAILS_BTN_ID).setWidth(60); getColumn(WeeklyReportRegionSummaryDto.OFFICER_REPORT_PERCENTAGE).setRenderer(new PercentageRenderer()); getColumn(WeeklyReportRegionSummaryDto.INFORMANT_REPORT_PERCENTAGE).setRenderer(new PercentageRenderer()); setCellStyleGenerator(new WeeklyReportGridCellStyleGenerator()); setSelectionMode(SelectionMode.NONE); addItemClickListener(this); }