List of usage examples for com.vaadin.v7.data.util GeneratedPropertyContainer addGeneratedProperty
public void addGeneratedProperty(Object propertyId, PropertyValueGenerator<?> generator)
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; } }); }