Example usage for com.vaadin.v7.ui.renderers HtmlRenderer HtmlRenderer

List of usage examples for com.vaadin.v7.ui.renderers HtmlRenderer HtmlRenderer

Introduction

In this page you can find the example usage for com.vaadin.v7.ui.renderers HtmlRenderer HtmlRenderer.

Prototype

public HtmlRenderer() 

Source Link

Document

Creates a new HTML renderer.

Usage

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);
}