Example usage for com.vaadin.v7.data.util GeneratedPropertyContainer GeneratedPropertyContainer

List of usage examples for com.vaadin.v7.data.util GeneratedPropertyContainer GeneratedPropertyContainer

Introduction

In this page you can find the example usage for com.vaadin.v7.data.util GeneratedPropertyContainer GeneratedPropertyContainer.

Prototype

@Deprecated
public GeneratedPropertyContainer(Container.Indexed container) 

Source Link

Document

Constructor for GeneratedPropertyContainer.

Usage

From source file:com.haulmont.cuba.web.widgets.renderers.componentrenderer.grid.ComponentGridDecorator.java

License:Apache License

/**
 * Replaces the current grid container with a {@link GeneratedPropertyContainer}
 * while preserving the {@link Grid.DetailsGenerator}.
 *//*from w  w w . ja  v a2  s . c o m*/
private void initGpc() {
    gpc = new GeneratedPropertyContainer(grid.getContainerDataSource());
    Grid.DetailsGenerator details = grid.getDetailsGenerator();
    grid.setContainerDataSource(gpc);
    grid.setDetailsGenerator(details);
}

From source file:de.symeda.sormas.ui.dashboard.DiseaseBurdenGrid.java

License:Open Source License

public DiseaseBurdenGrid() {
    setSizeFull();//from   www .ja v a2s .  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.dashboard.map.CasePopupGrid.java

License:Open Source License

public CasePopupGrid(Window window, FacilityReferenceDto facility,
        DashboardMapComponent dashboardMapComponent) {
    this.facility = facility;
    this.dashboardMapComponent = dashboardMapComponent;
    setWidth(960, Unit.PIXELS);/*from   w w w  . ja v a  2s. c om*/
    setHeightUndefined();

    setSelectionMode(SelectionMode.NONE);

    BeanItemContainer<CaseDataDto> container = new BeanItemContainer<CaseDataDto>(CaseDataDto.class);
    GeneratedPropertyContainer generatedContainer = new GeneratedPropertyContainer(container);
    setContainerDataSource(generatedContainer);

    generatedContainer.addGeneratedProperty(DISEASE_SHORT, new PropertyValueGenerator<String>() {
        @Override
        public String getValue(Item item, Object itemId, Object propertyId) {
            CaseDataDto caseDataDto = (CaseDataDto) itemId;
            String diseaseName = caseDataDto.getDisease().getName();
            return Disease.valueOf(diseaseName).toShortString();
        }

        @Override
        public Class<String> getType() {
            return String.class;
        }
    });

    generatedContainer.addGeneratedProperty(FIRST_NAME, new PropertyValueGenerator<String>() {
        @Override
        public String getValue(Item item, Object itemId, Object propertyId) {
            CaseDataDto caseDataDto = (CaseDataDto) itemId;
            PersonDto personDto = FacadeProvider.getPersonFacade()
                    .getPersonByUuid(caseDataDto.getPerson().getUuid());
            return personDto.getFirstName();
        }

        @Override
        public Class<String> getType() {
            return String.class;
        }
    });

    generatedContainer.addGeneratedProperty(LAST_NAME, new PropertyValueGenerator<String>() {
        @Override
        public String getValue(Item item, Object itemId, Object propertyId) {
            CaseDataDto caseDataDto = (CaseDataDto) itemId;
            PersonDto personDto = FacadeProvider.getPersonFacade()
                    .getPersonByUuid(caseDataDto.getPerson().getUuid());
            return personDto.getLastName();
        }

        @Override
        public Class<String> getType() {
            return String.class;
        }
    });

    setColumns(CaseDataDto.UUID, DISEASE_SHORT, CaseDataDto.CASE_CLASSIFICATION, FIRST_NAME, LAST_NAME,
            CaseDataDto.REPORT_DATE, CaseDataDto.HEALTH_FACILITY_DETAILS);

    getColumn(CaseDataDto.UUID).setRenderer(new V7UuidRenderer());
    getColumn(CaseDataDto.REPORT_DATE).setRenderer(new DateRenderer(DateHelper.getLocalDateTimeFormat()));

    if (facility == null || !FacilityHelper.isOtherOrNoneHealthFacility(facility.getUuid())) {
        getColumn(CaseDataDto.HEALTH_FACILITY_DETAILS).setHidden(true);
    }

    for (Column column : getColumns()) {
        column.setHeaderCaption(I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX,
                column.getPropertyId().toString(), column.getHeaderCaption()));
    }

    addItemClickListener(e -> {
        window.close();
        ControllerProvider.getCaseController().navigateToCase(((CaseDataDto) e.getItemId()).getUuid(), true);
    });

    reload();
}

From source file:de.symeda.sormas.ui.person.PersonGrid.java

License:Open Source License

private void buildGrid() {
    setSizeFull();//w  ww  . j a va  2  s.co  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();/*  w w w .j  ava  2s  . co  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();/*  w w w  .  j av  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);
}