Class JmixMultiValuePicker<V>

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,V>
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.BlurNotifier<MultiValuePicker<V>>, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.Focusable<MultiValuePicker<V>>, com.vaadin.flow.component.FocusNotifier<MultiValuePicker<V>>, com.vaadin.flow.component.HasAriaLabel, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasHelper, com.vaadin.flow.component.HasLabel, com.vaadin.flow.component.HasPlaceholder, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasTheme, com.vaadin.flow.component.HasValidation, com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiValuePicker<V>,Collection<V>>,Collection<V>>, com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiValuePicker<V>,Collection<V>>,Collection<V>>, com.vaadin.flow.component.shared.HasPrefix, com.vaadin.flow.component.shared.HasSuffix, com.vaadin.flow.component.shared.HasTooltip, com.vaadin.flow.component.shared.HasValidationProperties, HasRequired, PickerComponent<Collection<V>>, SupportsStatusChangeHandler<JmixMultiValuePicker<V>>, SupportsValidation<Collection<V>>, SupportsValueSource<Collection<V>>, HasActions, HasAutofocus, HasPlaceholder, HasTitle, SupportsFormatter<Collection<V>>, SupportsUserAction<Collection<V>>, Serializable, org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware

public class JmixMultiValuePicker<V> extends MultiValuePicker<V> implements PickerComponent<Collection<V>>, SupportsValidation<Collection<V>>, SupportsStatusChangeHandler<JmixMultiValuePicker<V>>, HasRequired, com.vaadin.flow.component.shared.HasPrefix, com.vaadin.flow.component.shared.HasSuffix, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
See Also:
  • Field Details

  • Constructor Details

    • JmixMultiValuePicker

      public JmixMultiValuePicker()
  • Method Details

    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
    • applyDefaultValueFormat

      protected String applyDefaultValueFormat(@Nullable Collection<V> value)
      Overrides:
      applyDefaultValueFormat in class ValuePickerBase<MultiValuePicker<V>,Collection<V>>
    • isInvalid

      public boolean isInvalid()
      Specified by:
      isInvalid in interface com.vaadin.flow.component.HasValidation
      Specified by:
      isInvalid in interface com.vaadin.flow.component.shared.HasValidationProperties
    • setInvalid

      public void setInvalid(boolean invalid)
      Description copied from interface: SupportsValidation
      Sets invalid state to the field considering result of field validation.
      • Invalid - false and validation passed - false = field is invalid
      • Invalid - false and validation passed - true = field is valid
      • Invalid - true and validation passed - false = field is invalid
      • Invalid - true and validation passed - true = field is invalid
      Specified by:
      setInvalid in interface com.vaadin.flow.component.HasValidation
      Specified by:
      setInvalid in interface com.vaadin.flow.component.shared.HasValidationProperties
      Specified by:
      setInvalid in interface SupportsValidation<V>
      Parameters:
      invalid - whether field should be invalid
    • setRequiredIndicatorVisible

      public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible)
      Specified by:
      setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiValuePicker<V>,Collection<V>>,Collection<V>>
      Specified by:
      setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiValuePicker<V>,Collection<V>>,Collection<V>>
    • setRequired

      public void setRequired(boolean required)
      Description copied from interface: HasRequired
      Sets the required property for the component. When a component is marked as required, it indicates that a value must be provided for the component in order to pass validation.
      Specified by:
      setRequired in interface HasRequired
      Parameters:
      required - a boolean value indicating whether the component is marked as required. true to mark the component as required, false otherwise.
    • getRequiredMessage

      @Nullable public String getRequiredMessage()
      Description copied from interface: HasRequired
      Returns the custom validation message to be displayed if the component is marked as required and the validation fails due to a missing value.
      Specified by:
      getRequiredMessage in interface HasRequired
      Returns:
      the required message set for the component, or null if no message is defined
    • setRequiredMessage

      public void setRequiredMessage(@Nullable String requiredMessage)
      Description copied from interface: HasRequired
      Sets a message that will be displayed or logged when a required field or input is not provided.
      Specified by:
      setRequiredMessage in interface HasRequired
      Parameters:
      requiredMessage - the message to be set for required fields. If null, the default message or no message will be used.
    • addValidator

      public com.vaadin.flow.shared.Registration addValidator(Validator<? super Collection<V>> validator)
      Description copied from interface: SupportsValidation
      Adds a validator to the list of validators for the component. The provided validator will be used to validate the value of the component during validation execution.
      Specified by:
      addValidator in interface SupportsValidation<V>
      Parameters:
      validator - the validator to be added; should not be null
      Returns:
      a Registration object that allows removing the added validator
    • executeValidators

      public void executeValidators() throws ValidationException
      Description copied from interface: SupportsValidation
      Executes all registered validators against the current value of the component. If any of the validators fail, a ValidationException is thrown to indicate the failure. The exact behavior and order of validation depend on the validators added.
      Specified by:
      executeValidators in interface SupportsValidation<V>
      Throws:
      ValidationException - if validation fails for one or more validators
    • validate

      protected void validate()
      Overrides:
      validate in class ValuePickerBase<MultiValuePicker<V>,Collection<V>>
    • getErrorMessage

      @Nullable public String getErrorMessage()
      Specified by:
      getErrorMessage in interface com.vaadin.flow.component.HasValidation
      Specified by:
      getErrorMessage in interface com.vaadin.flow.component.shared.HasValidationProperties
      Specified by:
      getErrorMessage in interface SupportsValidation<V>
    • setErrorMessage

      public void setErrorMessage(@Nullable String errorMessage)
      Specified by:
      setErrorMessage in interface com.vaadin.flow.component.HasValidation
      Specified by:
      setErrorMessage in interface com.vaadin.flow.component.shared.HasValidationProperties
      Specified by:
      setErrorMessage in interface SupportsValidation<V>
    • setStatusChangeHandler

      public void setStatusChangeHandler(@Nullable Consumer<SupportsStatusChangeHandler.StatusContext<JmixMultiValuePicker<V>>> handler)
      Description copied from interface: SupportsStatusChangeHandler
      Sets a callback to be used to handle component status changes, e.g. validation messages set by HasValidation.setErrorMessage(String).
      Specified by:
      setStatusChangeHandler in interface SupportsStatusChangeHandler<V>
      Parameters:
      handler - a handler to set
    • getValueSource

      @Nullable public ValueSource<Collection<V>> getValueSource()
      Description copied from interface: SupportsValueSource
      Returns the current ValueSource associated with this component.
      Specified by:
      getValueSource in interface SupportsValueSource<V>
      Returns:
      the associated ValueSource, or null if no value source is set
    • setValueSource

      public void setValueSource(@Nullable ValueSource<Collection<V>> valueSource)
      Description copied from interface: SupportsValueSource
      Sets a ValueSource for this component, allowing it to bind its value to a specified data source.
      Specified by:
      setValueSource in interface SupportsValueSource<V>
      Parameters:
      valueSource - the ValueSource to be associated with this component, or null to remove the current association
    • addAction

      public void addAction(Action action, int index)
      Description copied from interface: HasActions
      Add an action to the component at the specified index.
      Specified by:
      addAction in interface HasActions
      Overrides:
      addAction in class ValuePickerBase<MultiValuePicker<V>,Collection<V>>
      Parameters:
      action - action to add
      index - index at which the specified action is to be added
    • createFieldDelegate

      protected FieldDelegate<JmixMultiValuePicker<V>,Collection<V>,Collection<V>> createFieldDelegate()
    • createActionsSupport

      protected ValuePickerActionSupport createActionsSupport()
      Overrides:
      createActionsSupport in class ValuePickerBase<MultiValuePicker<V>,Collection<V>>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiValuePicker<V>,Collection<V>>,Collection<V>>
      Overrides:
      isEmpty in class com.vaadin.flow.component.AbstractField<MultiValuePicker<V>,Collection<V>>