Class MapField<K,​V>

    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField

        com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,​V extends Object>
      • Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier

        com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>
      • Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier

        com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>
      • Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue

        com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
    • Constructor Summary

      Constructors 
      Constructor Description
      MapField​(com.vaadin.flow.function.SerializableSupplier<C> entryComponentProvider)
      Creates a new MapField with given entry component provider.
      MapField​(com.vaadin.flow.function.SerializableSupplier<Map<K,​V>> emptyMapSupplier, Supplier<L> layoutProvider, com.vaadin.flow.function.SerializableSupplier<C> entryComponentProvider)
      Creates a new MapField with given empty map supplier, layout provider and entry component provider.
      MapField​(com.vaadin.flow.function.SerializableSupplier<Map<K,​V>> emptyMapSupplier, CollectionLayoutProvider<?> mainLayoutProvider, CollectionValueComponentProvider<Map.Entry<K,​V>,​?> entryValueComponentProvider)
      Creates a new MapField using given empty map provider, and layout and entry component providers for the underlying CollectionField.
      MapField​(Supplier<L> layoutProvider, com.vaadin.flow.function.SerializableSupplier<C> entryComponentProvider)
      Creates a new MapField with given layout provider and entry component provider.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void focus()  
      protected Map<K,​V> generateModelValue()  
      com.vaadin.flow.function.SerializablePredicate<Map.Entry<K,​V>> getCollectionElementFilter()
      Returns current value filter.
      <W extends com.vaadin.flow.component.Component & com.vaadin.flow.component.HasValue<?,​Map.Entry<K,​V>>>
      CollectionValueComponentProvider<Map.Entry<K,​V>,​W>
      getCollectionValueComponentProvider()
      Returns the current provider used to generate components.
      static <X,​Y>
      com.vaadin.flow.function.SerializablePredicate<Map.Entry<X,​Y>>
      nonNullEntryFilter()
      Produces a non-null entry filter (entry, its key and its value must be non-null).
      void setCollectionElementFilter​(com.vaadin.flow.function.SerializablePredicate<Map.Entry<K,​V>> collectionElementFilter)
      Sets a value filter.
      void setCollectionValueComponentProvider​(CollectionValueComponentProvider<Map.Entry<K,​V>,​?> provider)
      Sets the provider used to generate components for each element of the collection.
      protected void setPresentationValue​(Map<K,​V> map)  
      void setReadOnly​(boolean readOnly)  
      • Methods inherited from class com.vaadin.flow.component.customfield.CustomField

        add, addThemeVariants, getErrorMessage, getLabel, isInvalid, onAttach, remove, removeThemeVariants, setErrorMessage, setInvalid, setLabel, updateValue
      • Methods inherited from class com.vaadin.flow.component.AbstractField

        addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEquals
      • Methods inherited from class com.vaadin.flow.component.Component

        addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
      • Methods inherited from interface com.vaadin.flow.component.AttachNotifier

        addAttachListener
      • Methods inherited from interface com.vaadin.flow.component.BlurNotifier

        addBlurListener
      • Methods inherited from interface com.vaadin.flow.component.DetachNotifier

        addDetachListener
      • Methods inherited from interface com.vaadin.flow.component.Focusable

        addFocusShortcut, blur, getTabIndex, setTabIndex
      • Methods inherited from interface com.vaadin.flow.component.FocusNotifier

        addFocusListener
      • Methods inherited from interface com.vaadin.flow.component.HasElement

        getElement
      • Methods inherited from interface com.vaadin.flow.component.HasEnabled

        isEnabled, setEnabled
      • Methods inherited from interface com.vaadin.flow.component.HasHelper

        getHelperComponent, getHelperText, setHelperComponent, setHelperText
      • Methods inherited from interface com.vaadin.flow.component.HasLabel

        getLabel, setLabel
      • Methods inherited from interface com.vaadin.flow.component.HasSize

        getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
      • Methods inherited from interface com.vaadin.flow.component.HasStyle

        addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
      • Methods inherited from interface com.vaadin.flow.component.HasTheme

        addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
      • Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip

        getTooltip, setTooltipText
      • Methods inherited from interface com.vaadin.flow.component.HasValue

        addValueChangeListener, clear, getEmptyValue, getOptionalValue, getValue, isEmpty, setValue
      • Methods inherited from interface com.vaadin.flow.component.HasValueAndElement

        isReadOnly, isRequiredIndicatorVisible, setRequiredIndicatorVisible
    • Constructor Detail

      • MapField

        public MapField​(com.vaadin.flow.function.SerializableSupplier<Map<K,​V>> emptyMapSupplier,
                        Supplier<L> layoutProvider,
                        com.vaadin.flow.function.SerializableSupplier<C> entryComponentProvider)
        Creates a new MapField with given empty map supplier, layout provider and entry component provider.
        Type Parameters:
        L - Ensures layout provider produces a Component that HasComponents.
        C - Ensures entry component provider produces a Component that HasValue of type Map.Entry<K, V>.
        Parameters:
        emptyMapSupplier - A supplier of empty maps.
        layoutProvider - Provider of the main layout of the component.
        entryComponentProvider - Provides component to display entries of the map.
        See Also:
        MapEntryField
      • MapField

        public MapField​(Supplier<L> layoutProvider,
                        com.vaadin.flow.function.SerializableSupplier<C> entryComponentProvider)
        Creates a new MapField with given layout provider and entry component provider. The produced map will be a LinkedHashMap.
        Type Parameters:
        L - Ensures layout provider produces a Component that HasComponents.
        C - Ensures entry component provider produces a Component that HasValue of type Map.Entry<K, V>.
        Parameters:
        layoutProvider - Provider of the main layout of the component.
        entryComponentProvider - Provides component to display entries of the map.
        See Also:
        MapEntryField
      • MapField

        public MapField​(com.vaadin.flow.function.SerializableSupplier<C> entryComponentProvider)
        Creates a new MapField with given entry component provider. Uses FlexLayoutHelpers.column() as layout provider. The produced map will be a LinkedHashMap.
        Type Parameters:
        C - Ensures entry component provider produces a Component that HasValue of type Map.Entry<K, V>.
        Parameters:
        entryComponentProvider - Provides component to display entries of the map.
    • Method Detail

      • nonNullEntryFilter

        public static <X,​Y> com.vaadin.flow.function.SerializablePredicate<Map.Entry<X,​Y>> nonNullEntryFilter()
        Produces a non-null entry filter (entry, its key and its value must be non-null).
        Type Parameters:
        X - Key type.
        Y - Value type.
        Returns:
        Predicate.
      • generateModelValue

        protected Map<K,​V> generateModelValue()
        Specified by:
        generateModelValue in class com.vaadin.flow.component.customfield.CustomField<Map<K,​V>>
      • setPresentationValue

        protected void setPresentationValue​(Map<K,​V> map)
        Specified by:
        setPresentationValue in class com.vaadin.flow.component.customfield.CustomField<Map<K,​V>>
      • setReadOnly

        public void setReadOnly​(boolean readOnly)
        Specified by:
        setReadOnly in interface com.vaadin.flow.component.HasValue<K,​V>
        Specified by:
        setReadOnly in interface com.vaadin.flow.component.HasValueAndElement<K,​V>
      • focus

        public void focus()
        Specified by:
        focus in interface com.vaadin.flow.component.Focusable<K>
      • setCollectionElementFilter

        public void setCollectionElementFilter​(com.vaadin.flow.function.SerializablePredicate<Map.Entry<K,​V>> collectionElementFilter)
        Description copied from interface: HasCollectionElementFilter
        Sets a value filter. Only items matching the filter will be included in the generated value.
        Specified by:
        setCollectionElementFilter in interface HasCollectionElementFilter<K>
        Parameters:
        collectionElementFilter - Value filter to use.