Search in sources :

Example 26 with Field

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

the class AbstractForm method addField.

@SuppressWarnings({ "rawtypes", "unchecked" })
protected <F extends Field> F addField(FieldConfiguration configuration, Class<F> fieldType) {
    Field field = addField(getContent(), configuration.getPropertyId(), fieldType);
    applyFieldConfiguration(configuration, field);
    return (F) field;
}
Also used : TextField(com.vaadin.ui.TextField) AbstractField(com.vaadin.v7.ui.AbstractField) DateField(com.vaadin.v7.ui.DateField) Field(com.vaadin.v7.ui.Field) CustomField(com.vaadin.v7.ui.CustomField)

Example 27 with Field

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

the class AbstractForm method addField.

@SuppressWarnings({ "rawtypes", "unchecked" })
protected <F extends Field> F addField(CustomLayout layout, Class<F> fieldType, FieldConfiguration configuration) {
    Field field = addField(layout, configuration.getPropertyId(), fieldType);
    applyFieldConfiguration(configuration, field);
    return (F) field;
}
Also used : TextField(com.vaadin.ui.TextField) AbstractField(com.vaadin.v7.ui.AbstractField) DateField(com.vaadin.v7.ui.DateField) Field(com.vaadin.v7.ui.Field) CustomField(com.vaadin.v7.ui.CustomField)

Example 28 with Field

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

the class CampaignFormBuilder method createField.

@SuppressWarnings("unchecked")
private <T extends Field<?>> T createField(String fieldId, String caption, CampaignFormElementType type, List<CampaignFormElementStyle> styles) {
    SormasFieldGroupFieldFactory fieldFactory = new SormasFieldGroupFieldFactory(new FieldVisibilityCheckers(), UiFieldAccessCheckers.getNoop());
    T field;
    if (type == CampaignFormElementType.YES_NO) {
        field = fieldFactory.createField(Boolean.class, (Class<T>) NullableOptionGroup.class);
    } else if (type == CampaignFormElementType.TEXT || type == CampaignFormElementType.NUMBER) {
        field = fieldFactory.createField(String.class, (Class<T>) TextField.class);
    } else {
        field = null;
    }
    prepareComponent((AbstractComponent) field, fieldId, caption, type, styles);
    return field;
}
Also used : SormasFieldGroupFieldFactory(de.symeda.sormas.ui.utils.SormasFieldGroupFieldFactory) FieldVisibilityCheckers(de.symeda.sormas.api.utils.fieldvisibility.FieldVisibilityCheckers) TextField(com.vaadin.v7.ui.TextField)

Example 29 with Field

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

the class CampaignFormBuilder method prepareComponent.

private <T extends AbstractComponent> void prepareComponent(T field, String fieldId, String caption, CampaignFormElementType type, List<CampaignFormElementStyle> styles) {
    Styles cssStyles = Page.getCurrent().getStyles();
    if (type == CampaignFormElementType.LABEL) {
        ((Label) field).setContentMode(ContentMode.HTML);
    } else if (type == CampaignFormElementType.YES_NO) {
        if (!styles.contains(CampaignFormElementStyle.INLINE)) {
            CssStyles.style(field, ValoTheme.OPTIONGROUP_HORIZONTAL, CssStyles.OPTIONGROUP_CAPTION_INLINE, CssStyles.FLOAT_RIGHT);
        }
        CssStyles.style(field, CssStyles.OPTIONGROUP_GRID_LAYOUT);
    } else if (type == CampaignFormElementType.TEXT || type == CampaignFormElementType.NUMBER) {
        if (styles.contains(CampaignFormElementStyle.ROW)) {
            CssStyles.style(field, CssStyles.TEXTFIELD_ROW, CssStyles.TEXTFIELD_CAPTION_INLINE);
        }
        if (type == CampaignFormElementType.NUMBER) {
            ((TextField) field).addValidator(new NumberNumericValueValidator(I18nProperties.getValidationError(Validations.onlyNumbersAllowed, caption)));
        }
    }
    cssStyles.add("#" + fieldId + " { width: " + calculateComponentWidth(type, styles) + "% !important; }");
}
Also used : NumberNumericValueValidator(de.symeda.sormas.ui.utils.NumberNumericValueValidator) Label(com.vaadin.v7.ui.Label) TextField(com.vaadin.v7.ui.TextField) CssStyles(de.symeda.sormas.ui.utils.CssStyles) Styles(com.vaadin.server.Page.Styles)

Example 30 with Field

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

the class DateTimeField method initContent.

@Override
protected Component initContent() {
    HorizontalLayout layout = new HorizontalLayout();
    layout.setSpacing(true);
    layout.setWidth(100, Unit.PERCENTAGE);
    dateField = new PopupDateField();
    dateField.setId(this.getId() + "_" + "date");
    dateField.setWidth(100, Unit.PERCENTAGE);
    dateField.setDateFormat(DateFormatHelper.getDateFormatPattern());
    dateField.setLenient(true);
    dateField.setInputPrompt(inputPrompt);
    layout.addComponent(dateField);
    layout.setExpandRatio(dateField, 0.5f);
    if (!converterSet) {
        dateField.setConverter(converter);
        converterSet = true;
    }
    timeField = ComboBoxHelper.createComboBoxV7();
    timeField.setId(this.getId() + "_" + "time");
    timeField.addContainerProperty(CAPTION_PROPERTY_ID, String.class, null);
    timeField.setItemCaptionPropertyId(CAPTION_PROPERTY_ID);
    // fill
    for (int hours = 0; hours <= 23; hours++) {
        for (int minutes = 0; minutes <= 59; minutes += 15) {
            ensureTimeEntry(hours, minutes);
        }
    }
    timeField.setNewItemsAllowed(true);
    timeField.setNewItemHandler(new NewItemHandler() {

        @Override
        public void addNewItem(String newItemCaption) {
            Date date = DateHelper.parseTime(newItemCaption);
            timeField.setValue(ensureTimeEntry(date));
        }
    });
    timeField.setWidth(100, Unit.PERCENTAGE);
    layout.addComponent(timeField);
    layout.setExpandRatio(timeField, 0.5f);
    // value can't be set on readOnly fields
    dateField.setReadOnly(false);
    timeField.setReadOnly(false);
    // set field values based on internal value
    setInternalValue(super.getInternalValue());
    dateField.setReadOnly(isReadOnly());
    timeField.setReadOnly(isReadOnly());
    Property.ValueChangeListener validationValueChangeListener = new Property.ValueChangeListener() {

        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            markAsDirty();
            fireValueChange(false);
        }
    };
    dateField.addValueChangeListener(validationValueChangeListener);
    timeField.addValueChangeListener(validationValueChangeListener);
    return layout;
}
Also used : PopupDateField(com.vaadin.v7.ui.PopupDateField) NewItemHandler(com.vaadin.v7.ui.AbstractSelect.NewItemHandler) Property(com.vaadin.v7.data.Property) Date(java.util.Date) LocalDate(org.joda.time.LocalDate) HorizontalLayout(com.vaadin.ui.HorizontalLayout)

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