Search in sources :

Example 56 with Field

use of com.vaadin.v7.ui.Field in project SORMAS-Project by hzi-braunschweig.

the class FieldHelper method setVisibleWhen.

@SuppressWarnings("rawtypes")
public static void setVisibleWhen(final FieldGroup fieldGroup, List<String> targetPropertyIds, Object sourcePropertyId, final List<?> sourceValues, final boolean clearOnHidden) {
    Field sourceField = fieldGroup.getField(sourcePropertyId);
    setVisibleWhen(fieldGroup, targetPropertyIds, sourceField, sourceValues, clearOnHidden);
}
Also used : AbstractField(com.vaadin.v7.ui.AbstractField) Field(com.vaadin.v7.ui.Field)

Example 57 with Field

use of com.vaadin.v7.ui.Field in project SORMAS-Project by hzi-braunschweig.

the class SormasFieldGroupFieldFactory method createField.

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public <T extends Field> T createField(Class<?> type, Class<T> fieldType) {
    if (type.isEnum()) {
        if (// no specific fieldType defined?
        fieldType.isAssignableFrom(Field.class) && (SymptomState.class.isAssignableFrom(type) || YesNoUnknown.class.isAssignableFrom(type))) {
            NullableOptionGroup field = new NullableOptionGroup();
            field.setImmediate(true);
            populateWithEnumData(field, (Class<? extends Enum>) type);
            CssStyles.style(field, ValoTheme.OPTIONGROUP_HORIZONTAL, CssStyles.OPTIONGROUP_CAPTION_INLINE);
            return (T) field;
        } else {
            if (Disease.class.isAssignableFrom(type)) {
                fieldType = (Class<T>) ComboBox.class;
                ComboBox field = ComboBoxHelper.createComboBoxV7();
                field.setImmediate(true);
                field.setNullSelectionAllowed(true);
                populateWithDiseaseData(field);
                return (T) field;
            } else {
                if (!AbstractSelect.class.isAssignableFrom(fieldType)) {
                    fieldType = (Class<T>) ComboBox.class;
                }
                T field = super.createField(type, fieldType);
                if (field instanceof OptionGroup) {
                    CssStyles.style(field, ValoTheme.OPTIONGROUP_HORIZONTAL);
                } else if (fieldType.isAssignableFrom(NullableOptionGroup.class)) {
                    NullableOptionGroup select = new NullableOptionGroup();
                    select.setImmediate(true);
                    populateWithEnumData(select, (Class<? extends Enum>) type);
                    CssStyles.style(select, ValoTheme.OPTIONGROUP_HORIZONTAL);
                    field = (T) select;
                } else if (field instanceof ComboBox) {
                    ((ComboBox) field).setFilteringMode(FilteringMode.CONTAINS);
                    ((ComboBox) field).setNullSelectionAllowed(true);
                }
                return field;
            }
        }
    } else if (Boolean.class.isAssignableFrom(type)) {
        fieldType = CheckBox.class.isAssignableFrom(fieldType) ? (Class<T>) CheckBox.class : (Class<T>) NullableOptionGroup.class;
        return createBooleanField(fieldType);
    } else if (ComboBox.class.isAssignableFrom(fieldType) || ComboBoxWithPlaceholder.class.isAssignableFrom(fieldType)) {
        ComboBoxWithPlaceholder combo = new ComboBoxWithPlaceholder();
        combo.setImmediate(true);
        return (T) combo;
    } else if (AbstractSelect.class.isAssignableFrom(fieldType)) {
        AbstractSelect field = createCompatibleSelect((Class<? extends AbstractSelect>) fieldType);
        field.setNullSelectionAllowed(true);
        return (T) field;
    } else if (LocationEditForm.class.isAssignableFrom(fieldType)) {
        return (T) new LocationEditForm(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (HealthConditionsForm.class.isAssignableFrom(fieldType)) {
        return (T) new HealthConditionsForm(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (DateTimeField.class.isAssignableFrom(fieldType)) {
        DateTimeField field = new DateTimeField();
        field.setConverter(new SormasDefaultConverterFactory().createDateConverter(Date.class));
        return (T) field;
    } else if (DateField.class.isAssignableFrom(fieldType)) {
        DateField field = super.createField(type, DateField.class);
        field.setDateFormat(DateFormatHelper.getDateFormatPattern());
        field.setLenient(true);
        field.setConverter(new SormasDefaultConverterFactory().createDateConverter(Date.class));
        return (T) field;
    } else if (PreviousHospitalizationsField.class.isAssignableFrom(fieldType)) {
        return (T) new PreviousHospitalizationsField(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (ExposuresField.class.isAssignableFrom(fieldType)) {
        return (T) new ExposuresField(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (ActivityAsCaseField.class.isAssignableFrom(fieldType)) {
        return (T) new ActivityAsCaseField(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (LocationsField.class.isAssignableFrom(fieldType)) {
        return (T) new LocationsField(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (PersonContactDetailsField.class.isAssignableFrom(fieldType)) {
        return (T) new PersonContactDetailsField(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (VaccinationsField.class.isAssignableFrom(fieldType)) {
        return (T) new VaccinationsField(fieldAccessCheckers);
    } else if (JsonForm.class.isAssignableFrom(fieldType)) {
        return (T) new JsonForm(fieldVisibilityCheckers, fieldAccessCheckers);
    } else if (fieldType.equals(Field.class)) {
        // no specific field type defined -> fallbacks
        if (Date.class.isAssignableFrom(type)) {
            DateField field = super.createField(type, DateField.class);
            field.setDateFormat(DateFormatHelper.getDateFormatPattern());
            field.setLenient(true);
            field.setConverter(new SormasDefaultConverterFactory().createDateConverter(Date.class));
            return (T) field;
        } else if (ReferenceDto.class.isAssignableFrom(type)) {
            return (T) ComboBoxHelper.createComboBoxV7();
        }
    } else if (MultiSelect.class.isAssignableFrom(fieldType)) {
        return (T) MultiSelect.create(type);
    }
    return super.createField(type, fieldType);
}
Also used : SymptomState(de.symeda.sormas.api.symptoms.SymptomState) AbstractSelect(com.vaadin.v7.ui.AbstractSelect) VaccinationsField(de.symeda.sormas.ui.vaccination.VaccinationsField) VaccinationsField(de.symeda.sormas.ui.vaccination.VaccinationsField) ExposuresField(de.symeda.sormas.ui.exposure.ExposuresField) DateField(com.vaadin.v7.ui.DateField) PersonContactDetailsField(de.symeda.sormas.ui.person.PersonContactDetailsField) LocationsField(de.symeda.sormas.ui.person.LocationsField) Field(com.vaadin.v7.ui.Field) AbstractTextField(com.vaadin.v7.ui.AbstractTextField) ActivityAsCaseField(de.symeda.sormas.ui.ActivityAsCase.ActivityAsCaseField) PreviousHospitalizationsField(de.symeda.sormas.ui.hospitalization.PreviousHospitalizationsField) OptionGroup(com.vaadin.v7.ui.OptionGroup) HealthConditionsForm(de.symeda.sormas.ui.clinicalcourse.HealthConditionsForm) ExposuresField(de.symeda.sormas.ui.exposure.ExposuresField) LocationEditForm(de.symeda.sormas.ui.location.LocationEditForm) ComboBox(com.vaadin.v7.ui.ComboBox) LocationsField(de.symeda.sormas.ui.person.LocationsField) Date(java.util.Date) PreviousHospitalizationsField(de.symeda.sormas.ui.hospitalization.PreviousHospitalizationsField) ActivityAsCaseField(de.symeda.sormas.ui.ActivityAsCase.ActivityAsCaseField) JsonForm(de.symeda.sormas.ui.utils.components.JsonForm) CheckBox(com.vaadin.v7.ui.CheckBox) PersonContactDetailsField(de.symeda.sormas.ui.person.PersonContactDetailsField) YesNoUnknown(de.symeda.sormas.api.utils.YesNoUnknown) DateField(com.vaadin.v7.ui.DateField)

Example 58 with Field

use of com.vaadin.v7.ui.Field in project SORMAS-Project by hzi-braunschweig.

the class SormasFieldGroupFieldFactory method createBooleanField.

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
protected <T extends Field> T createBooleanField(Class<T> fieldType) {
    if (NullableOptionGroup.class.isAssignableFrom(fieldType)) {
        final AbstractSelect s = new NullableOptionGroup();
        ;
        s.addItem(Boolean.TRUE);
        s.setItemCaption(Boolean.TRUE, I18nProperties.getEnumCaption(YesNoUnknown.YES));
        s.addItem(Boolean.FALSE);
        s.setItemCaption(Boolean.FALSE, I18nProperties.getEnumCaption(YesNoUnknown.NO));
        CssStyles.style(s, ValoTheme.OPTIONGROUP_HORIZONTAL);
        return (T) s;
    } else {
        return super.createBooleanField(fieldType);
    }
}
Also used : AbstractSelect(com.vaadin.v7.ui.AbstractSelect)

Example 59 with Field

use of com.vaadin.v7.ui.Field in project SORMAS-Project by hzi-braunschweig.

the class ExpressionProcessorTest method testAddExpressionListener.

@Test
public void testAddExpressionListener() {
    expressionProcessor.addExpressionListener();
    final TextField field = (TextField) campaignFormBuilder.getFields().get("childrenVaccinatedRecall");
    field.setValue("xyz");
    field.setValue("42");
}
Also used : TextField(com.vaadin.v7.ui.TextField) Test(org.junit.Test)

Example 60 with Field

use of com.vaadin.v7.ui.Field in project SORMAS-Project by hzi-braunschweig.

the class JsonForm method buildFields.

private Field<?>[] buildFields(Map<String, String> jsonData) {
    return jsonData.entrySet().stream().map((e) -> {
        final TextField textField = fieldFactory.createField(String.class, TextField.class);
        textField.setWidthFull();
        textField.setId(e.getKey());
        textField.setCaption(e.getKey());
        CssStyles.style(textField, CssStyles.TEXTFIELD_ROW);
        textField.setValue(e.getValue());
        return textField;
    }).collect(Collectors.toList()).toArray(new Field[] {});
}
Also used : TextField(com.vaadin.v7.ui.TextField)

Aggregations

TextField (com.vaadin.v7.ui.TextField)36 Field (com.vaadin.v7.ui.Field)34 ComboBox (com.vaadin.v7.ui.ComboBox)32 AbstractField (com.vaadin.v7.ui.AbstractField)23 DateField (com.vaadin.v7.ui.DateField)20 Label (com.vaadin.ui.Label)19 Disease (de.symeda.sormas.api.Disease)15 FacadeProvider (de.symeda.sormas.api.FacadeProvider)15 DistrictReferenceDto (de.symeda.sormas.api.infrastructure.district.DistrictReferenceDto)15 FieldVisibilityCheckers (de.symeda.sormas.api.utils.fieldvisibility.FieldVisibilityCheckers)15 NullableOptionGroup (de.symeda.sormas.ui.utils.NullableOptionGroup)15 I18nProperties (de.symeda.sormas.api.i18n.I18nProperties)14 Strings (de.symeda.sormas.api.i18n.Strings)14 AbstractEditForm (de.symeda.sormas.ui.utils.AbstractEditForm)14 DateComparisonValidator (de.symeda.sormas.ui.utils.DateComparisonValidator)14 FieldHelper (de.symeda.sormas.ui.utils.FieldHelper)14 LayoutUtil.fluidRowLocs (de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs)14 Collections (java.util.Collections)14 Button (com.vaadin.ui.Button)13 CssStyles (de.symeda.sormas.ui.utils.CssStyles)13