Example usage for com.vaadin.v7.ui ComboBox isVisible

List of usage examples for com.vaadin.v7.ui ComboBox isVisible

Introduction

In this page you can find the example usage for com.vaadin.v7.ui ComboBox isVisible.

Prototype

public boolean isVisible();

Source Link

Document

Tests the visibility property of the component.

Usage

From source file:de.symeda.sormas.ui.user.UserEditForm.java

License:Open Source License

@SuppressWarnings("unchecked")
private void updateFieldsByUserRole() {
    OptionGroup userRolesField = (OptionGroup) getFieldGroup().getField(UserDto.USER_ROLES);
    Set<UserRole> userRoles = (Set<UserRole>) userRolesField.getValue();
    boolean isInformant = UserRole.isInformant(userRoles);
    boolean isOfficer = UserRole.isOfficer(userRoles);
    boolean isSupervisor = UserRole.isSupervisor(userRoles);
    boolean isLabUser = UserRole.isLabUser(userRoles);
    boolean isPortHealthUser = UserRole.isPortHealthUser(userRoles);
    boolean isStateObserver = userRoles.contains(UserRole.STATE_OBSERVER);
    boolean isDistrictObserver = userRoles.contains(UserRole.DISTRICT_OBSERVER);

    // associated officer
    ComboBox associatedOfficer = (ComboBox) getFieldGroup().getField(UserDto.ASSOCIATED_OFFICER);
    associatedOfficer.setVisible(isInformant);
    setRequired(isInformant && !isPortHealthUser, UserDto.ASSOCIATED_OFFICER);
    if (!isInformant) {
        associatedOfficer.clear();/*www.  j a  v  a  2 s.co  m*/
    }

    // community
    ComboBox community = (ComboBox) getFieldGroup().getField(UserDto.COMMUNITY);
    community.setVisible(userRoles.contains(UserRole.COMMUNITY_INFORMANT));
    setRequired(userRoles.contains(UserRole.COMMUNITY_INFORMANT), UserDto.COMMUNITY);
    if (!userRoles.contains(UserRole.COMMUNITY_INFORMANT)) {
        community.clear();
    }

    // health facility
    ComboBox healthFacility = (ComboBox) getFieldGroup().getField(UserDto.HEALTH_FACILITY);
    healthFacility.setVisible(isOfficer || userRoles.contains(UserRole.HOSPITAL_INFORMANT));
    setRequired(userRoles.contains(UserRole.HOSPITAL_INFORMANT), UserDto.HEALTH_FACILITY);
    if (!healthFacility.isVisible()) {
        healthFacility.clear();
    }

    // laboratory
    ComboBox laboratory = (ComboBox) getFieldGroup().getField(UserDto.LABORATORY);
    laboratory.setVisible(isLabUser);
    setRequired(isLabUser, UserDto.LABORATORY);
    if (!isLabUser) {
        laboratory.clear();
    }

    // point of entry
    ComboBox pointOfEntry = (ComboBox) getFieldGroup().getField(UserDto.POINT_OF_ENTRY);
    boolean usePointOfEntry = isPortHealthUser && isInformant;
    pointOfEntry.setVisible(usePointOfEntry);
    setRequired(usePointOfEntry, UserDto.POINT_OF_ENTRY);
    if (!usePointOfEntry) {
        pointOfEntry.clear();
    }

    ComboBox region = (ComboBox) getFieldGroup().getField(UserDto.REGION);
    boolean useRegion = isSupervisor || isInformant || isOfficer || isStateObserver || isDistrictObserver;
    region.setVisible(useRegion);
    setRequired(useRegion, UserDto.REGION);
    if (!useRegion) {
        region.clear();
    }

    ComboBox district = (ComboBox) getFieldGroup().getField(UserDto.DISTRICT);
    boolean useDistrict = isInformant || isOfficer || isDistrictObserver;
    district.setVisible(useDistrict);
    setRequired(useDistrict, UserDto.DISTRICT);
    if (!useDistrict) {
        district.clear();
    }
}