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

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

Introduction

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

Prototype

public void addGeneratedProperty(Object propertyId, PropertyValueGenerator<?> generator) 

Source Link

Document

Add a new PropertyValueGenerator with given property id.

Usage

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 va 2 s.  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();//from w  ww . jav a2  s  .  c  om
    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 a 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.utils.VaadinUiUtil.java

License:Open Source License

@SuppressWarnings("serial")
public static void addIconColumn(GeneratedPropertyContainer container, String iconPropertyId,
        VaadinIcons VaadinIconsIcon) {/* w ww. java 2  s  .c om*/
    container.addGeneratedProperty(iconPropertyId, new PropertyValueGenerator<String>() {
        @Override
        public String getValue(Item item, Object itemId, Object propertyId) {
            return VaadinIconsIcon.getHtml();
        }

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