List of usage examples for com.vaadin.v7.ui ComboBox addItems
public void addItems(Object... itemId) throws UnsupportedOperationException
From source file:de.symeda.sormas.ui.caze.CaseCreateForm.java
License:Open Source License
@Override protected void addFields() { addField(CaseDataDto.REPORT_DATE, DateField.class); addDiseaseField(CaseDataDto.DISEASE, false); addField(CaseDataDto.DISEASE_DETAILS, TextField.class); OptionGroup plagueType = addField(CaseDataDto.PLAGUE_TYPE, OptionGroup.class); addField(CaseDataDto.DENGUE_FEVER_TYPE, OptionGroup.class); addCustomField(FIRST_NAME, String.class, TextField.class); addCustomField(LAST_NAME, String.class, TextField.class); ComboBox region = addField(CaseDataDto.REGION, ComboBox.class); ComboBox district = addField(CaseDataDto.DISTRICT, ComboBox.class); ComboBox community = addField(CaseDataDto.COMMUNITY, ComboBox.class); community.setNullSelectionAllowed(true); ComboBox facility = addField(CaseDataDto.HEALTH_FACILITY, ComboBox.class); facility.setImmediate(true);//w ww .jav a 2 s . c o m TextField facilityDetails = addField(CaseDataDto.HEALTH_FACILITY_DETAILS, TextField.class); facilityDetails.setVisible(false); ComboBox cbPointOfEntry = addField(CaseDataDto.POINT_OF_ENTRY, ComboBox.class); cbPointOfEntry.setImmediate(true); TextField tfPointOfEntryDetails = addField(CaseDataDto.POINT_OF_ENTRY_DETAILS, TextField.class); tfPointOfEntryDetails.setVisible(false); region.addValueChangeListener(e -> { RegionReferenceDto regionDto = (RegionReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(district, regionDto != null ? FacadeProvider.getDistrictFacade().getAllByRegion(regionDto.getUuid()) : null); }); district.addValueChangeListener(e -> { if (community.getValue() == null) { FieldHelper.removeItems(facility); } FieldHelper.removeItems(community); DistrictReferenceDto districtDto = (DistrictReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(community, districtDto != null ? FacadeProvider.getCommunityFacade().getAllByDistrict(districtDto.getUuid()) : null); FieldHelper.updateItems(facility, districtDto != null ? FacadeProvider.getFacilityFacade().getHealthFacilitiesByDistrict(districtDto, true) : null); FieldHelper.updateItems(cbPointOfEntry, districtDto != null ? FacadeProvider.getPointOfEntryFacade().getAllByDistrict(districtDto.getUuid(), true) : null); }); community.addValueChangeListener(e -> { FieldHelper.removeItems(facility); CommunityReferenceDto communityDto = (CommunityReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(facility, communityDto != null ? FacadeProvider.getFacilityFacade().getHealthFacilitiesByCommunity(communityDto, true) : district.getValue() != null ? FacadeProvider.getFacilityFacade() .getHealthFacilitiesByDistrict((DistrictReferenceDto) district.getValue(), true) : null); }); region.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); OptionGroup ogCaseOrigin = addField(CaseDataDto.CASE_ORIGIN, OptionGroup.class); ogCaseOrigin.setRequired(true); if (UserRole.isPortHealthUser(UserProvider.getCurrent().getUserRoles())) { setVisible(false, CaseDataDto.CASE_ORIGIN, CaseDataDto.DISEASE, CaseDataDto.COMMUNITY, CaseDataDto.HEALTH_FACILITY); setVisible(true, CaseDataDto.POINT_OF_ENTRY); } else { ogCaseOrigin.addValueChangeListener(e -> { if (e.getProperty().getValue() == CaseOrigin.IN_COUNTRY) { setVisible(false, CaseDataDto.POINT_OF_ENTRY, CaseDataDto.POINT_OF_ENTRY_DETAILS); setRequired(true, CaseDataDto.HEALTH_FACILITY); setRequired(false, CaseDataDto.POINT_OF_ENTRY); updateFacilityFields(facility, facilityDetails); } else { setVisible(true, CaseDataDto.POINT_OF_ENTRY); setRequired(true, CaseDataDto.POINT_OF_ENTRY); setRequired(false, CaseDataDto.HEALTH_FACILITY); updatePointOfEntryFields(cbPointOfEntry, tfPointOfEntryDetails); } }); } setRequired(true, CaseDataDto.REPORT_DATE, FIRST_NAME, LAST_NAME, CaseDataDto.DISEASE, CaseDataDto.REGION, CaseDataDto.DISTRICT); FieldHelper.addSoftRequiredStyle(plagueType, community, facilityDetails); FieldHelper.setVisibleWhen(getFieldGroup(), Arrays.asList(CaseDataDto.DISEASE_DETAILS), CaseDataDto.DISEASE, Arrays.asList(Disease.OTHER), true); FieldHelper.setRequiredWhen(getFieldGroup(), CaseDataDto.DISEASE, Arrays.asList(CaseDataDto.DISEASE_DETAILS), Arrays.asList(Disease.OTHER)); FieldHelper.setRequiredWhen(getFieldGroup(), CaseDataDto.CASE_ORIGIN, Arrays.asList(CaseDataDto.HEALTH_FACILITY), Arrays.asList(CaseOrigin.IN_COUNTRY)); FieldHelper.setRequiredWhen(getFieldGroup(), CaseDataDto.CASE_ORIGIN, Arrays.asList(CaseDataDto.POINT_OF_ENTRY), Arrays.asList(CaseOrigin.POINT_OF_ENTRY)); FieldHelper.setVisibleWhen(getFieldGroup(), Arrays.asList(CaseDataDto.PLAGUE_TYPE), CaseDataDto.DISEASE, Arrays.asList(Disease.PLAGUE), true); FieldHelper.setVisibleWhen(getFieldGroup(), Arrays.asList(CaseDataDto.DENGUE_FEVER_TYPE), CaseDataDto.DISEASE, Arrays.asList(Disease.DENGUE), true); facility.addValueChangeListener(e -> { updateFacilityFields(facility, facilityDetails); }); cbPointOfEntry.addValueChangeListener(e -> { updatePointOfEntryFields(cbPointOfEntry, tfPointOfEntryDetails); }); }
From source file:de.symeda.sormas.ui.caze.CaseFacilityChangeForm.java
License:Open Source License
@Override protected void addFields() { ComboBox region = addField(CaseDataDto.REGION, ComboBox.class); ComboBox district = addField(CaseDataDto.DISTRICT, ComboBox.class); ComboBox community = addField(CaseDataDto.COMMUNITY, ComboBox.class); community.setNullSelectionAllowed(true); ComboBox facility = addField(CaseDataDto.HEALTH_FACILITY, ComboBox.class); ComboBox officer = addField(CaseDataDto.SURVEILLANCE_OFFICER, ComboBox.class); TextField facilityDetails = addField(CaseDataDto.HEALTH_FACILITY_DETAILS, TextField.class); region.addValueChangeListener(e -> { RegionReferenceDto regionDto = (RegionReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(district, regionDto != null ? FacadeProvider.getDistrictFacade().getAllByRegion(regionDto.getUuid()) : null);/*from w w w . ja v a 2 s . c o m*/ }); district.addValueChangeListener(e -> { if (community.getValue() == null) { FieldHelper.removeItems(facility); } FieldHelper.removeItems(community); DistrictReferenceDto districtDto = (DistrictReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(community, districtDto != null ? FacadeProvider.getCommunityFacade().getAllByDistrict(districtDto.getUuid()) : null); FieldHelper.updateItems(facility, districtDto != null ? FacadeProvider.getFacilityFacade().getHealthFacilitiesByDistrict(districtDto, true) : null); List<UserReferenceDto> assignableSurveillanceOfficers = FacadeProvider.getUserFacade() .getUserRefsByDistrict(districtDto, false, UserRole.SURVEILLANCE_OFFICER); FieldHelper.updateItems(officer, assignableSurveillanceOfficers); if (assignableSurveillanceOfficers.size() == 1) { officer.setValue(assignableSurveillanceOfficers.get(0)); } else { officer.setValue(null); } }); community.addValueChangeListener(e -> { FieldHelper.removeItems(facility); CommunityReferenceDto communityDto = (CommunityReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(facility, communityDto != null ? FacadeProvider.getFacilityFacade().getHealthFacilitiesByCommunity(communityDto, true) : district.getValue() != null ? FacadeProvider.getFacilityFacade() .getHealthFacilitiesByDistrict((DistrictReferenceDto) district.getValue(), true) : null); }); facility.addValueChangeListener(e -> { if (e.getProperty().getValue() != null) { boolean otherHealthFacility = ((FacilityReferenceDto) e.getProperty().getValue()).getUuid() .equals(FacilityDto.OTHER_FACILITY_UUID); boolean noneHealthFacility = ((FacilityReferenceDto) e.getProperty().getValue()).getUuid() .equals(FacilityDto.NONE_FACILITY_UUID); boolean visibleAndRequired = otherHealthFacility || noneHealthFacility; facilityDetails.setVisible(visibleAndRequired); facilityDetails.setRequired(visibleAndRequired); if (otherHealthFacility) { facilityDetails.setCaption(I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, CaseDataDto.HEALTH_FACILITY_DETAILS)); } if (noneHealthFacility) { facilityDetails.setCaption( I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, NONE_HEALTH_FACILITY_DETAILS)); } if (!visibleAndRequired) { facilityDetails.clear(); } } else { facilityDetails.setVisible(false); facilityDetails.setRequired(false); facilityDetails.clear(); } }); region.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); FieldHelper.addSoftRequiredStyle(community, facilityDetails, officer); setRequired(true, CaseDataDto.REGION, CaseDataDto.DISTRICT, CaseDataDto.HEALTH_FACILITY); officer.setNullSelectionAllowed(true); }
From source file:de.symeda.sormas.ui.configuration.infrastructure.CommunityEditForm.java
License:Open Source License
@Override protected void addFields() { addField(CommunityDto.NAME, TextField.class); ComboBox region = new ComboBox(); region.setCaption(I18nProperties.getPrefixCaption(CommunityDto.I18N_PREFIX, REGION_LOC)); region.setWidth(100, Unit.PERCENTAGE); getContent().addComponent(region, REGION_LOC); ComboBox district = addField(CommunityDto.DISTRICT, ComboBox.class); setRequired(true, CommunityDto.NAME, CommunityDto.DISTRICT); region.setRequired(true);// w w w. j a va2 s . c o m region.addValueChangeListener(e -> { RegionReferenceDto regionDto = (RegionReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(district, regionDto != null ? FacadeProvider.getDistrictFacade().getAllByRegion(regionDto.getUuid()) : null); }); district.addValueChangeListener(e -> { if (e.getProperty().getValue() != null && region.getValue() == null) { DistrictDto communityDistrict = FacadeProvider.getDistrictFacade() .getDistrictByUuid(((DistrictReferenceDto) e.getProperty().getValue()).getUuid()); region.setValue(communityDistrict.getRegion()); } }); region.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); // TODO: Workaround until cases and other data is properly transfered when infrastructure data changes if (!create) { region.setEnabled(false); district.setEnabled(false); } }
From source file:de.symeda.sormas.ui.configuration.infrastructure.DistrictEditForm.java
License:Open Source License
@Override protected void addFields() { addField(DistrictDto.NAME, TextField.class); addField(DistrictDto.EPID_CODE, TextField.class); ComboBox region = addField(DistrictDto.REGION, ComboBox.class); TextField population = addField(DistrictDto.POPULATION, TextField.class); population.setConverter(new StringToIntegerConverter()); population.setConversionError(// w w w .j ava 2 s.c o m I18nProperties.getValidationError(Validations.onlyNumbersAllowed, population.getCaption())); TextField growthRate = addField(DistrictDto.GROWTH_RATE, TextField.class); growthRate.setConverter(new StringToFloatConverter()); growthRate.setConversionError( I18nProperties.getValidationError(Validations.onlyDecimalNumbersAllowed, growthRate.getCaption())); setRequired(true, DistrictDto.NAME, DistrictDto.EPID_CODE, DistrictDto.REGION); region.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); // TODO: Workaround until cases and other data is properly transfered when infrastructure data changes if (!create) { region.setEnabled(false); } }
From source file:de.symeda.sormas.ui.configuration.infrastructure.FacilityEditForm.java
License:Open Source License
@Override protected void addFields() { TextField name = addField(FacilityDto.NAME, TextField.class); ComboBox region = addField(FacilityDto.REGION, ComboBox.class); ComboBox district = addField(FacilityDto.DISTRICT, ComboBox.class); ComboBox community = addField(FacilityDto.COMMUNITY, ComboBox.class); addField(FacilityDto.CITY, TextField.class); TextField latitude = addField(FacilityDto.LATITUDE, TextField.class); latitude.setConverter(new StringToAngularLocationConverter()); latitude.setConversionError(/*from w w w . j a v a 2 s .c om*/ I18nProperties.getValidationError(Validations.onlyGeoCoordinatesAllowed, latitude.getCaption())); TextField longitude = addField(FacilityDto.LONGITUDE, TextField.class); longitude.setConverter(new StringToAngularLocationConverter()); longitude.setConversionError( I18nProperties.getValidationError(Validations.onlyGeoCoordinatesAllowed, longitude.getCaption())); name.setRequired(true); if (!laboratory) { region.setRequired(true); district.setRequired(true); community.setRequired(true); } region.addValueChangeListener(e -> { RegionReferenceDto regionDto = (RegionReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(district, regionDto != null ? FacadeProvider.getDistrictFacade().getAllByRegion(regionDto.getUuid()) : null); }); district.addValueChangeListener(e -> { FieldHelper.removeItems(community); DistrictReferenceDto districtDto = (DistrictReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(community, districtDto != null ? FacadeProvider.getCommunityFacade().getAllByDistrict(districtDto.getUuid()) : null); }); community.addValueChangeListener(e -> { @SuppressWarnings("unused") CommunityReferenceDto communityDto = (CommunityReferenceDto) e.getProperty().getValue(); }); region.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); if (!create) { if (!laboratory) { // Disable editing of region, etc. so case references stay correct region.setEnabled(false); district.setEnabled(false); community.setEnabled(false); } } }
From source file:de.symeda.sormas.ui.contact.ContactCreateForm.java
License:Open Source License
@Override protected void addFields() { TextField firstName = addCustomField(FIRST_NAME, String.class, TextField.class); TextField lastName = addCustomField(LAST_NAME, String.class, TextField.class); ComboBox caze = addField(ContactDto.CAZE, ComboBox.class); caze.addItems( FacadeProvider.getCaseFacade().getSelectableCases(UserProvider.getCurrent().getUserReference())); DateField lastContactDate = addField(ContactDto.LAST_CONTACT_DATE, DateField.class); OptionGroup contactProximity = addField(ContactDto.CONTACT_PROXIMITY, OptionGroup.class); contactProximity.removeStyleName(ValoTheme.OPTIONGROUP_HORIZONTAL); addField(ContactDto.DESCRIPTION, TextArea.class).setRows(2); ComboBox relationToCase = addField(ContactDto.RELATION_TO_CASE, ComboBox.class); CssStyles.style(CssStyles.SOFT_REQUIRED, firstName, lastName, caze, lastContactDate, contactProximity, relationToCase);/*from w w w.j a v a 2 s. c o m*/ ComboBox contactOfficerField = addField(ContactDto.CONTACT_OFFICER, ComboBox.class); contactOfficerField.setNullSelectionAllowed(true); setRequired(true, ContactDto.CAZE, FIRST_NAME, LAST_NAME); addValueChangeListener(e -> { updateLastContactDateValidator(); // set assignable officers ContactDto contactDto = getValue(); if (contactDto != null) { CaseDataDto caseDto = FacadeProvider.getCaseFacade() .getCaseDataByUuid(contactDto.getCaze().getUuid()); contactOfficerField.addItems(FacadeProvider.getUserFacade() .getUserRefsByDistrict(caseDto.getDistrict(), false, UserRole.CONTACT_OFFICER)); } }); }
From source file:de.symeda.sormas.ui.contact.ContactDataForm.java
License:Open Source License
@Override protected void addFields() { addField(ContactDto.CONTACT_CLASSIFICATION, OptionGroup.class); addField(ContactDto.CONTACT_STATUS, OptionGroup.class); addField(ContactDto.UUID, TextField.class); addField(ContactDto.REPORTING_USER, ComboBox.class); DateField lastContactDate = addField(ContactDto.LAST_CONTACT_DATE, DateField.class); addField(ContactDto.REPORT_DATE_TIME, DateField.class); OptionGroup contactProximity = addField(ContactDto.CONTACT_PROXIMITY, OptionGroup.class); contactProximity.removeStyleName(ValoTheme.OPTIONGROUP_HORIZONTAL); ComboBox relationToCase = addField(ContactDto.RELATION_TO_CASE, ComboBox.class); addField(ContactDto.DESCRIPTION, TextArea.class).setRows(3); addField(ContactDto.FOLLOW_UP_STATUS, ComboBox.class); addField(ContactDto.FOLLOW_UP_COMMENT, TextArea.class).setRows(1); addDateField(ContactDto.FOLLOW_UP_UNTIL, DateField.class, -1); ComboBox contactOfficerField = addField(ContactDto.CONTACT_OFFICER, ComboBox.class); contactOfficerField.setNullSelectionAllowed(true); setReadOnly(true, ContactDto.UUID, ContactDto.REPORTING_USER, ContactDto.REPORT_DATE_TIME, ContactDto.CONTACT_STATUS, ContactDto.FOLLOW_UP_STATUS, ContactDto.FOLLOW_UP_UNTIL); FieldHelper.setRequiredWhen(getFieldGroup(), ContactDto.FOLLOW_UP_STATUS, Arrays.asList(ContactDto.FOLLOW_UP_COMMENT), Arrays.asList(FollowUpStatus.CANCELED, FollowUpStatus.LOST)); addValueChangeListener(e -> {/*from w w w .ja va 2 s . c o m*/ if (getValue() != null) { CaseDataDto caseDto = FacadeProvider.getCaseFacade() .getCaseDataByUuid(getValue().getCaze().getUuid()); updateLastContactDateValidator(); updateDiseaseConfiguration(caseDto.getDisease()); updateFollowUpStatusComponents(); contactOfficerField.addItems(FacadeProvider.getUserFacade() .getUserRefsByDistrict(caseDto.getDistrict(), false, UserRole.CONTACT_OFFICER)); getContent().removeComponent(TO_CASE_BTN_LOC); if (getValue().getResultingCase() != null) { // link to case Link linkToData = ControllerProvider.getCaseController().createLinkToData( getValue().getResultingCase().getUuid(), I18nProperties.getCaption(Captions.contactOpenContactCase)); getContent().addComponent(linkToData, TO_CASE_BTN_LOC); } else if (getValue().getContactClassification() == ContactClassification.CONFIRMED) { // only when confirmed if (UserProvider.getCurrent().hasUserRight(UserRight.CONTACT_CONVERT)) { Button toCaseButton = new Button( I18nProperties.getCaption(Captions.contactCreateContactCase)); toCaseButton.addStyleName(ValoTheme.BUTTON_LINK); toCaseButton.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { PersonReferenceDto personRef = getValue().getPerson(); CaseReferenceDto caseRef = getValue().getCaze(); CaseDataDto caze = FacadeProvider.getCaseFacade() .getCaseDataByUuid(caseRef.getUuid()); ControllerProvider.getCaseController().create(personRef, caze.getDisease(), getValue()); } }); getContent().addComponent(toCaseButton, TO_CASE_BTN_LOC); } } } }); setRequired(true, ContactDto.CONTACT_CLASSIFICATION, ContactDto.CONTACT_STATUS); FieldHelper.addSoftRequiredStyle(lastContactDate, contactProximity, relationToCase); }
From source file:de.symeda.sormas.ui.hospitalization.PreviousHospitalizationEditForm.java
License:Open Source License
@Override protected void addFields() { DateField admissionDate = addField(PreviousHospitalizationDto.ADMISSION_DATE, DateField.class); DateField dischargeDate = addField(PreviousHospitalizationDto.DISCHARGE_DATE, DateField.class); addField(PreviousHospitalizationDto.ISOLATED, OptionGroup.class); addField(PreviousHospitalizationDto.DESCRIPTION, TextArea.class).setRows(2); ComboBox facilityRegion = addField(PreviousHospitalizationDto.REGION, ComboBox.class); ComboBox facilityDistrict = addField(PreviousHospitalizationDto.DISTRICT, ComboBox.class); ComboBox facilityCommunity = addField(PreviousHospitalizationDto.COMMUNITY, ComboBox.class); facilityCommunity.setNullSelectionAllowed(true); ComboBox healthFacility = addField(PreviousHospitalizationDto.HEALTH_FACILITY, ComboBox.class); TextField healthFacilityDetails = addField(CaseDataDto.HEALTH_FACILITY_DETAILS, TextField.class); healthFacilityDetails.setVisible(false); healthFacility.setImmediate(true);//from www. ja v a 2s . co m facilityRegion.addValueChangeListener(e -> { RegionReferenceDto regionDto = (RegionReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(facilityDistrict, regionDto != null ? FacadeProvider.getDistrictFacade().getAllByRegion(regionDto.getUuid()) : null); }); facilityDistrict.addValueChangeListener(e -> { if (facilityCommunity.getValue() == null) { FieldHelper.removeItems(healthFacility); } FieldHelper.removeItems(facilityCommunity); DistrictReferenceDto districtDto = (DistrictReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(facilityCommunity, districtDto != null ? FacadeProvider.getCommunityFacade().getAllByDistrict(districtDto.getUuid()) : null); FieldHelper.updateItems(healthFacility, districtDto != null ? FacadeProvider.getFacilityFacade().getHealthFacilitiesByDistrict(districtDto, true) : null); }); facilityCommunity.addValueChangeListener(e -> { FieldHelper.removeItems(healthFacility); CommunityReferenceDto communityDto = (CommunityReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(healthFacility, communityDto != null ? FacadeProvider.getFacilityFacade().getHealthFacilitiesByCommunity(communityDto, true) : facilityDistrict.getValue() != null ? FacadeProvider.getFacilityFacade() .getHealthFacilitiesByDistrict((DistrictReferenceDto) facilityDistrict.getValue(), true) : null); }); facilityRegion.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); healthFacility.addValueChangeListener(e -> { if (e.getProperty().getValue() != null) { boolean otherHealthFacility = ((FacilityReferenceDto) e.getProperty().getValue()).getUuid() .equals(FacilityDto.OTHER_FACILITY_UUID); boolean noneHealthFacility = ((FacilityReferenceDto) e.getProperty().getValue()).getUuid() .equals(FacilityDto.NONE_FACILITY_UUID); boolean visibleAndRequired = otherHealthFacility || noneHealthFacility; healthFacilityDetails.setVisible(visibleAndRequired); healthFacilityDetails.setRequired(visibleAndRequired); if (otherHealthFacility) { healthFacilityDetails.setCaption(I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, CaseDataDto.HEALTH_FACILITY_DETAILS)); } if (noneHealthFacility) { healthFacilityDetails.setCaption(I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, CaseDataDto.NONE_HEALTH_FACILITY_DETAILS)); } if (!visibleAndRequired) { healthFacilityDetails.clear(); } } else { healthFacilityDetails.setVisible(false); healthFacilityDetails.setRequired(false); healthFacilityDetails.clear(); } }); // Validations admissionDate.addValidator(new DateComparisonValidator(admissionDate, dischargeDate, true, false, I18nProperties.getValidationError(Validations.beforeDate, admissionDate.getCaption(), dischargeDate.getCaption()))); dischargeDate.addValidator(new DateComparisonValidator(dischargeDate, admissionDate, false, false, I18nProperties.getValidationError(Validations.afterDate, dischargeDate.getCaption(), admissionDate.getCaption()))); FieldHelper.addSoftRequiredStyle(admissionDate, dischargeDate, facilityCommunity, healthFacilityDetails); setRequired(true, PreviousHospitalizationDto.REGION, PreviousHospitalizationDto.DISTRICT, PreviousHospitalizationDto.HEALTH_FACILITY); }
From source file:de.symeda.sormas.ui.location.LocationEditForm.java
License:Open Source License
@Override protected void addFields() { addField(LocationDto.ADDRESS, TextArea.class).setRows(2); addField(LocationDto.DETAILS, TextField.class); addField(LocationDto.CITY, TextField.class); addField(LocationDto.AREA_TYPE, ComboBox.class); addField(LocationDto.LATITUDE, TextField.class).setConverter(new StringToAngularLocationConverter()); addField(LocationDto.LONGITUDE, TextField.class).setConverter(new StringToAngularLocationConverter()); addField(LocationDto.LAT_LON_ACCURACY, TextField.class); ComboBox region = addField(LocationDto.REGION, ComboBox.class); ComboBox district = addField(LocationDto.DISTRICT, ComboBox.class); ComboBox community = addField(LocationDto.COMMUNITY, ComboBox.class); region.addValueChangeListener(e -> { RegionReferenceDto regionDto = (RegionReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(district, regionDto != null ? FacadeProvider.getDistrictFacade().getAllByRegion(regionDto.getUuid()) : null);//from ww w . j a v a2s .c om }); district.addValueChangeListener(e -> { FieldHelper.removeItems(community); DistrictReferenceDto districtDto = (DistrictReferenceDto) e.getProperty().getValue(); FieldHelper.updateItems(community, districtDto != null ? FacadeProvider.getCommunityFacade().getAllByDistrict(districtDto.getUuid()) : null); }); region.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); }
From source file:de.symeda.sormas.ui.person.PersonEditForm.java
License:Open Source License
@Override protected void addFields() { if (!initialized) { // vars have to be set first return;//from w w w .j a va 2s. co m } addField(PersonDto.FIRST_NAME, TextField.class); addField(PersonDto.LAST_NAME, TextField.class); ComboBox sex = addField(PersonDto.SEX, ComboBox.class); addField(PersonDto.NICKNAME, TextField.class); addField(PersonDto.MOTHERS_MAIDEN_NAME, TextField.class); addFields(PersonDto.MOTHERS_NAME, PersonDto.FATHERS_NAME); ComboBox presentCondition = addField(PersonDto.PRESENT_CONDITION, ComboBox.class); birthDateDay = addField(PersonDto.BIRTH_DATE_DD, ComboBox.class); // @TODO: Done for nullselection Bug, fixed in Vaadin 7.7.3 birthDateDay.setNullSelectionAllowed(true); ComboBox birthDateMonth = addField(PersonDto.BIRTH_DATE_MM, ComboBox.class); // @TODO: Done for nullselection Bug, fixed in Vaadin 7.7.3 birthDateMonth.setNullSelectionAllowed(true); birthDateMonth.addItems(DateHelper.getMonthsInYear()); birthDateMonth.setPageLength(12); setItemCaptionsForMonths(birthDateMonth); ComboBox birthDateYear = addField(PersonDto.BIRTH_DATE_YYYY, ComboBox.class); birthDateYear.setCaption(I18nProperties.getPrefixCaption(PersonDto.I18N_PREFIX, PersonDto.BIRTH_DATE)); // @TODO: Done for nullselection Bug, fixed in Vaadin 7.7.3 birthDateYear.setNullSelectionAllowed(true); birthDateYear.addItems(DateHelper.getYearsToNow()); birthDateYear.setItemCaptionMode(ItemCaptionMode.ID_TOSTRING); DateField deathDate = addField(PersonDto.DEATH_DATE, DateField.class); TextField approximateAgeField = addField(PersonDto.APPROXIMATE_AGE, TextField.class); ComboBox approximateAgeTypeField = addField(PersonDto.APPROXIMATE_AGE_TYPE, ComboBox.class); addField(PersonDto.APPROXIMATE_AGE_REFERENCE_DATE, DateField.class); TextField tfGestationAgeAtBirth = addField(PersonDto.GESTATION_AGE_AT_BIRTH, TextField.class); tfGestationAgeAtBirth.setConversionError(I18nProperties.getValidationError(Validations.onlyNumbersAllowed, tfGestationAgeAtBirth.getCaption())); TextField tfBirthWeight = addField(PersonDto.BIRTH_WEIGHT, TextField.class); tfBirthWeight.setConversionError( I18nProperties.getValidationError(Validations.onlyNumbersAllowed, tfBirthWeight.getCaption())); AbstractSelect deathPlaceType = addField(PersonDto.DEATH_PLACE_TYPE, ComboBox.class); deathPlaceType.setNullSelectionAllowed(true); TextField deathPlaceDesc = addField(PersonDto.DEATH_PLACE_DESCRIPTION, TextField.class); DateField burialDate = addField(PersonDto.BURIAL_DATE, DateField.class); TextField burialPlaceDesc = addField(PersonDto.BURIAL_PLACE_DESCRIPTION, TextField.class); ComboBox burialConductor = addField(PersonDto.BURIAL_CONDUCTOR, ComboBox.class); addField(PersonDto.ADDRESS, LocationEditForm.class).setCaption(null); addField(PersonDto.PHONE, TextField.class); addField(PersonDto.PHONE_OWNER, TextField.class); addFields(PersonDto.OCCUPATION_TYPE, PersonDto.OCCUPATION_DETAILS, PersonDto.EDUCATION_TYPE, PersonDto.EDUCATION_DETAILS); ComboBox cbPlaceOfBirthRegion = addField(PersonDto.PLACE_OF_BIRTH_REGION, ComboBox.class); ComboBox cbPlaceOfBirthDistrict = addField(PersonDto.PLACE_OF_BIRTH_DISTRICT, ComboBox.class); ComboBox cbPlaceOfBirthCommunity = addField(PersonDto.PLACE_OF_BIRTH_COMMUNITY, ComboBox.class); ComboBox cbPlaceOfBirthFacility = addField(PersonDto.PLACE_OF_BIRTH_FACILITY, ComboBox.class); TextField tfPlaceOfBirthFacilityDetails = addField(PersonDto.PLACE_OF_BIRTH_FACILITY_DETAILS, TextField.class); causeOfDeathField = addField(PersonDto.CAUSE_OF_DEATH, ComboBox.class); causeOfDeathDiseaseField = addDiseaseField(PersonDto.CAUSE_OF_DEATH_DISEASE, true); causeOfDeathDetailsField = addField(PersonDto.CAUSE_OF_DEATH_DETAILS, TextField.class); ComboBox facilityRegion = addField(PersonDto.OCCUPATION_REGION, ComboBox.class); facilityRegion.setImmediate(true); facilityRegion.setNullSelectionAllowed(true); ComboBox facilityDistrict = addField(PersonDto.OCCUPATION_DISTRICT, ComboBox.class); facilityDistrict.setImmediate(true); facilityDistrict.setNullSelectionAllowed(true); ComboBox facilityCommunity = addField(PersonDto.OCCUPATION_COMMUNITY, ComboBox.class); facilityCommunity.setImmediate(true); facilityCommunity.setNullSelectionAllowed(true); occupationFacility = addField(PersonDto.OCCUPATION_FACILITY, ComboBox.class); occupationFacility.setImmediate(true); occupationFacility.setNullSelectionAllowed(true); occupationFacilityDetails = addField(PersonDto.OCCUPATION_FACILITY_DETAILS, TextField.class); // Set requirements that don't need visibility changes and read only status setReadOnly(true, PersonDto.APPROXIMATE_AGE_REFERENCE_DATE); setRequired(true, PersonDto.FIRST_NAME, PersonDto.LAST_NAME); setVisible(false, PersonDto.OCCUPATION_DETAILS, PersonDto.OCCUPATION_FACILITY, PersonDto.OCCUPATION_FACILITY_DETAILS, PersonDto.OCCUPATION_REGION, PersonDto.OCCUPATION_DISTRICT, PersonDto.OCCUPATION_COMMUNITY, PersonDto.DEATH_DATE, PersonDto.DEATH_PLACE_TYPE, PersonDto.DEATH_PLACE_DESCRIPTION, PersonDto.BURIAL_DATE, PersonDto.BURIAL_PLACE_DESCRIPTION, PersonDto.BURIAL_CONDUCTOR, PersonDto.CAUSE_OF_DEATH, PersonDto.CAUSE_OF_DEATH_DETAILS, PersonDto.CAUSE_OF_DEATH_DISEASE); FieldHelper.setVisibleWhen(getFieldGroup(), PersonDto.EDUCATION_DETAILS, PersonDto.EDUCATION_TYPE, Arrays.asList(EducationType.OTHER), true); FieldHelper.addSoftRequiredStyle(presentCondition, sex, deathDate, deathPlaceDesc, deathPlaceType, causeOfDeathField, causeOfDeathDiseaseField, causeOfDeathDetailsField, burialDate, burialPlaceDesc, burialConductor); // Set initial visibilities initializeVisibilitiesAndAllowedVisibilities(disease, viewMode); if (!getField(PersonDto.OCCUPATION_TYPE).isVisible() && !getField(PersonDto.EDUCATION_TYPE).isVisible()) occupationHeader.setVisible(false); if (!getField(PersonDto.ADDRESS).isVisible()) addressHeader.setVisible(false); // Add listeners FieldHelper.setRequiredWhenNotNull(getFieldGroup(), PersonDto.APPROXIMATE_AGE, PersonDto.APPROXIMATE_AGE_TYPE); addFieldListeners(PersonDto.APPROXIMATE_AGE, e -> { @SuppressWarnings("unchecked") Field<ApproximateAgeType> ageTypeField = (Field<ApproximateAgeType>) getField( PersonDto.APPROXIMATE_AGE_TYPE); if (e.getProperty().getValue() == null) { ageTypeField.clear(); } else { if (ageTypeField.isEmpty()) { ageTypeField.setValue(ApproximateAgeType.YEARS); } } }); addFieldListeners(PersonDto.BIRTH_DATE_DD, e -> { updateApproximateAge(); updateReadyOnlyApproximateAge(); }); addFieldListeners(PersonDto.BIRTH_DATE_MM, e -> { updateApproximateAge(); updateReadyOnlyApproximateAge(); }); addFieldListeners(PersonDto.BIRTH_DATE_YYYY, e -> { updateApproximateAge(); updateReadyOnlyApproximateAge(); }); addFieldListeners(PersonDto.DEATH_DATE, e -> updateApproximateAge()); addFieldListeners(PersonDto.OCCUPATION_TYPE, e -> { updateOccupationFieldCaptions(); toogleOccupationMetaFields(); }); addListenersToInfrastructureFields(cbPlaceOfBirthRegion, cbPlaceOfBirthDistrict, cbPlaceOfBirthCommunity, cbPlaceOfBirthFacility, tfPlaceOfBirthFacilityDetails); addListenersToInfrastructureFields(facilityRegion, facilityDistrict, facilityCommunity, occupationFacility, occupationFacilityDetails); cbPlaceOfBirthRegion.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); facilityRegion.addItems(FacadeProvider.getRegionFacade().getAllAsReference()); addFieldListeners(PersonDto.PRESENT_CONDITION, e -> toogleDeathAndBurialFields()); causeOfDeathField.addValueChangeListener(e -> { toggleCauseOfDeathFields( presentCondition.getValue() != PresentCondition.ALIVE && presentCondition.getValue() != null); }); causeOfDeathDiseaseField.addValueChangeListener(e -> { toggleCauseOfDeathFields( presentCondition.getValue() != PresentCondition.ALIVE && presentCondition.getValue() != null); }); addValueChangeListener(e -> { fillDeathAndBurialFields(deathPlaceType, deathPlaceDesc, burialPlaceDesc); }); deathDate.addValidator(new DateComparisonValidator(deathDate, this::calcBirthDateValue, false, false, I18nProperties.getValidationError(Validations.afterDate, deathDate.getCaption(), birthDateYear.getCaption()))); burialDate.addValidator(new DateComparisonValidator(burialDate, deathDate, false, false, I18nProperties .getValidationError(Validations.afterDate, burialDate.getCaption(), deathDate.getCaption()))); // Update the list of days according to the selected month and year birthDateYear.addValueChangeListener(e -> { updateListOfDays((Integer) e.getProperty().getValue(), (Integer) birthDateMonth.getValue()); }); birthDateMonth.addValueChangeListener(e -> { updateListOfDays((Integer) birthDateYear.getValue(), (Integer) e.getProperty().getValue()); }); }