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

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

Introduction

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

Prototype

PropertyValueGenerator

Source Link

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   ww  w  .j a va2  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();/*ww w  .jav a  2s.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 av a2 s  .  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  w  w.j  a  va2  s  .co  m
    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;
        }
    });
}