Class ComponentUtils

java.lang.Object
io.jmix.flowui.kit.component.ComponentUtils

public final class ComponentUtils extends Object
Utility class working with Vaadin UI components.
See Also:
  • ComponentUtil
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.vaadin.flow.component.ShortcutRegistration
    addClickShortcut(com.vaadin.flow.component.ClickNotifier<?> component, KeyCombination shortcutCombination)
    Adds a shortcut which 'clicks' the Component which implements ClickNotifier interface.
    static void
    addComponentsToSlot(com.vaadin.flow.dom.Element element, String slot, com.vaadin.flow.component.Component... components)
    Deprecated, for removal: This API element is subject to removal in a future version.
    SlotUtils.addToSlot(HasElement, String, Component...) instead
    static void
    clearSlot(com.vaadin.flow.dom.Element element, String slot)
    Deprecated, for removal: This API element is subject to removal in a future version.
    use SlotUtils.clearSlot(HasElement, String) instead
    static com.vaadin.flow.component.icon.Icon
    convertToIcon(com.vaadin.flow.component.icon.VaadinIcon icon)
    Creates a new Icon instance with the icon determined by the passed VaadinIcon.
    static com.vaadin.flow.component.icon.FontIcon
    copyFontIcon(com.vaadin.flow.component.icon.FontIcon fontIcon)
    Creates a copy of font icon component.
    static com.vaadin.flow.component.Component
    copyIcon(com.vaadin.flow.component.Component icon)
    Creates a copy of icon component.
    static com.vaadin.flow.component.icon.Icon
    copyIconComponent(com.vaadin.flow.component.icon.Icon icon)
    Creates a copy of icon component.
    static com.vaadin.flow.component.icon.SvgIcon
    copySvgIcon(com.vaadin.flow.component.icon.SvgIcon svgIcon)
    Creates a copy of svg icon component.
    static int
    findActionIndexById(List<Action> actions, String actionId)
    Returns the index of the first occurrence of the action with specified id in the passed actions list, or -1 if this list does not contain the action.
    static boolean
    Checks if a passed string represents 'auto' size.
    static boolean
    isVisible(Object component)
    Gets the component visibility value.
    static com.vaadin.flow.component.icon.Icon
    parseIcon(String iconString)
    Creates a new Icon instance with the icon determined by the passed string.
    static void
    setEnabled(com.vaadin.flow.component.HasEnabled hasEnabled, boolean enabled)
    Sets the component enabled state.
    static <T> void
    setItemsMap(com.vaadin.flow.component.checkbox.CheckboxGroup<T> component, Map<T,String> items)
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static <T> void
    setItemsMap(com.vaadin.flow.component.combobox.ComboBox<T> component, Map<T,String> items)
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static <T> void
    setItemsMap(com.vaadin.flow.component.listbox.ListBox<T> component, Map<T,String> items)
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static <T> void
    setItemsMap(com.vaadin.flow.component.listbox.MultiSelectListBox<T> component, Map<T,String> items)
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static <T> void
    setItemsMap(com.vaadin.flow.component.radiobutton.RadioButtonGroup<T> component, Map<T,String> items)
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static <T> void
    setItemsMap(com.vaadin.flow.component.select.Select<T> component, Map<T,String> items)
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static void
    Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
    static void
    setVisible(com.vaadin.flow.component.Component component, boolean visible)
    Sets the component visibility value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • parseIcon

      public static com.vaadin.flow.component.icon.Icon parseIcon(String iconString)
      Creates a new Icon instance with the icon determined by the passed string. If a passed string contains ':' delimiter then a new Icon is created using icon collection and icon name values, otherwise the passed string is considered as VaadinIcon constant name.
      Parameters:
      iconString - a string representing an icon
      Returns:
      a new instance of Icon component
    • convertToIcon

      @Nullable public static com.vaadin.flow.component.icon.Icon convertToIcon(@Nullable com.vaadin.flow.component.icon.VaadinIcon icon)
      Creates a new Icon instance with the icon determined by the passed VaadinIcon.
      Parameters:
      icon - a VaadinIcon instance
      Returns:
      a new instance of Icon component
    • copyIcon

      public static com.vaadin.flow.component.Component copyIcon(com.vaadin.flow.component.Component icon)
      Creates a copy of icon component. For the moment only Icon, SvgIcon and FontIcon types are supported.
      Parameters:
      icon - icon component to copy
      Returns:
      icon component copy
    • copyIconComponent

      public static com.vaadin.flow.component.icon.Icon copyIconComponent(com.vaadin.flow.component.icon.Icon icon)
      Creates a copy of icon component.
      Parameters:
      icon - icon component to copy
      Returns:
      icon component copy
    • copySvgIcon

      public static com.vaadin.flow.component.icon.SvgIcon copySvgIcon(com.vaadin.flow.component.icon.SvgIcon svgIcon)
      Creates a copy of svg icon component.
      Parameters:
      svgIcon - svg icon component to copy
      Returns:
      svg icon component copy
    • copyFontIcon

      public static com.vaadin.flow.component.icon.FontIcon copyFontIcon(com.vaadin.flow.component.icon.FontIcon fontIcon)
      Creates a copy of font icon component.
      Parameters:
      fontIcon - font icon component to copy
      Returns:
      font icon component copy
    • addComponentsToSlot

      @Deprecated(since="2.1", forRemoval=true) public static void addComponentsToSlot(com.vaadin.flow.dom.Element element, String slot, com.vaadin.flow.component.Component... components)
      Deprecated, for removal: This API element is subject to removal in a future version.
      SlotUtils.addToSlot(HasElement, String, Component...) instead
      Parameters:
      element - the parent component element to add the components to
      slot - the name of the slot inside the parent
      components - components to add to the specified slot.
    • clearSlot

      @Deprecated(since="2.1", forRemoval=true) public static void clearSlot(com.vaadin.flow.dom.Element element, String slot)
      Deprecated, for removal: This API element is subject to removal in a future version.
      use SlotUtils.clearSlot(HasElement, String) instead
      Parameters:
      element - the component element to get children from
      slot - the name of the slot inside the parent
    • findActionIndexById

      public static int findActionIndexById(List<Action> actions, String actionId)
      Returns the index of the first occurrence of the action with specified id in the passed actions list, or -1 if this list does not contain the action.
      Parameters:
      actions - actions list to search from
      actionId - action id to search for
      Returns:
      the index of the first occurrence of the action with specified id in the passed actions list, or -1 if this list does not contain the action
    • setItemsMap

      public static <T> void setItemsMap(com.vaadin.flow.component.checkbox.CheckboxGroup<T> component, Map<T,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Type Parameters:
      T - the component items type
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • setItemsMap

      public static <T> void setItemsMap(com.vaadin.flow.component.radiobutton.RadioButtonGroup<T> component, Map<T,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Type Parameters:
      T - the component items type
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • setItemsMap

      public static <T> void setItemsMap(com.vaadin.flow.component.listbox.ListBox<T> component, Map<T,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Type Parameters:
      T - the component items type
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • setItemsMap

      public static <T> void setItemsMap(com.vaadin.flow.component.listbox.MultiSelectListBox<T> component, Map<T,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Type Parameters:
      T - the component items type
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • setItemsMap

      public static <T> void setItemsMap(com.vaadin.flow.component.combobox.ComboBox<T> component, Map<T,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Type Parameters:
      T - the component items type
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • setItemsMap

      public static <T> void setItemsMap(com.vaadin.flow.component.select.Select<T> component, Map<T,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Type Parameters:
      T - the component items type
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • setItemsMap

      public static void setItemsMap(EnhancedLoginForm component, Map<Locale,String> items)
      Sets key set from passed Map as component's items and Map values as visual representation of corresponding item, effectively defining ItemLabelGenerator.
      Parameters:
      component - the component to set items and ItemLabelGenerator
      items - a map to be used as a source of items and their visual representation
    • isAutoSize

      public static boolean isAutoSize(@Nullable String size)
      Checks if a passed string represents 'auto' size. Should be in a format understood by the browser, e.g. "100px" or "2.5em".
      Parameters:
      size - a
      Returns:
      true if passed string represents 'auto' size, false otherwise
    • setVisible

      public static void setVisible(com.vaadin.flow.component.Component component, boolean visible)
      Sets the component visibility value. If the component is wrapped inside FormLayout.FormItem then its visibility value is also changed.
      Parameters:
      component - the component to set visibility value
      visible - the component visibility value
    • setEnabled

      public static void setEnabled(com.vaadin.flow.component.HasEnabled hasEnabled, boolean enabled)
      Sets the component enabled state. If the component is wrapped inside FormLayout.FormItem then its enabled state is also changed.
      Parameters:
      hasEnabled - the component to set enabled state
      enabled - the component enabled state
    • isVisible

      public static boolean isVisible(Object component)
      Gets the component visibility value. Throws an exception if a passed object is not a component.
      Parameters:
      component - the component to get visibility value
      Returns:
      true if the component is visible, false otherwise
      Throws:
      IllegalArgumentException - if a passed object is not a component
    • addClickShortcut

      public static com.vaadin.flow.component.ShortcutRegistration addClickShortcut(com.vaadin.flow.component.ClickNotifier<?> component, KeyCombination shortcutCombination)
      Adds a shortcut which 'clicks' the Component which implements ClickNotifier interface.
      Parameters:
      component - a component to add shortcut
      shortcutCombination - an object that stores information about key, modifiers and additional settings
      Returns:
      ShortcutRegistration for configuring the shortcut and removing