Class Details

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.details.Details
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.HasComponents, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasTheme, HasThemeVariant<DetailsVariant>, HasTooltip, Serializable

@Tag("vaadin-details") @NpmPackage(value="@vaadin/details", version="25.0.0-alpha19") @JsModule("@vaadin/details/src/vaadin-details.js") public class Details extends com.vaadin.flow.component.Component implements com.vaadin.flow.component.HasComponents, com.vaadin.flow.component.HasSize, HasThemeVariant<DetailsVariant>, HasTooltip
Details is an expandable panel for showing and hiding content from the user to make the UI less crowded. Details consists of a summary and a content area.

The Summary is the part that is always visible, and typically describes the contents, for example, with a title. Clicking on the summary toggles the content area’s visibility. The summary supports rich content and can contain any component. This can be utilized for example to indicate the status of the corresponding content.

The content area is the collapsible part of Details. It can contain any component. When the content area is collapsed, the content is invisible and inaccessible by keyboard or screen reader.

Author:
Vaadin Ltd
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes a new Details component.
    Details(com.vaadin.flow.component.Component summary)
    Initializes a new Details using the provided summary.
    Details(com.vaadin.flow.component.Component summary, com.vaadin.flow.component.Component content)
    Initializes a new Details using the provided summary and content.
    Details(com.vaadin.flow.component.Component summary, com.vaadin.flow.component.Component... components)
    Initializes a new Details using the provided summary and content components.
    Details(String summary)
    Initializes a new Details using the provided summary.
    Details(String summary, com.vaadin.flow.component.Component content)
    Initializes a new Details using the provided summary and content.
    Details(String summary, com.vaadin.flow.component.Component... components)
    Initializes a new Details using the provided summary and content components.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(String text)
    Adds the given text to the content section
    void
    add(Collection<com.vaadin.flow.component.Component> components)
    Adds components to the content section
    void
    addComponentAtIndex(int index, com.vaadin.flow.component.Component component)
    Adds the given component to the content section at the specific index.
    com.vaadin.flow.shared.Registration
    addOpenedChangeListener(com.vaadin.flow.component.ComponentEventListener<Details.OpenedChangeEvent> listener)
    Adds a listener to get notified when the opened state of the component changes.
    protected com.vaadin.flow.component.Component
    Creates the summary container component.
    Stream<com.vaadin.flow.component.Component>
    Returns the content components which were added via HasComponents.add(Component...)
    com.vaadin.flow.component.Component
    Returns summary component which was set via setSummary(Component) or setSummaryText(String)
     
    boolean
    void
    remove(Collection<com.vaadin.flow.component.Component> components)
    Removes specified components from the content section
    void
    Removes all components from the content section
    void
    setOpened(boolean opened)
    True if the details are opened and the content is displayed
    void
    setSummary(com.vaadin.flow.component.Component summary)
    Sets the component summary
    void
    Creates a text wrapper and sets a summary via setSummary(Component)

    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, onAttach, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.vaadin.flow.component.AttachNotifier

    addAttachListener

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

    addDetachListener

    Methods inherited from interface com.vaadin.flow.component.HasComponents

    add, addComponentAsFirst, remove

    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.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.HasThemeVariant

    addThemeVariants, removeThemeVariants, setThemeVariant, setThemeVariants, setThemeVariants

    Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip

    getTooltip, setTooltipText
  • Constructor Details

    • Details

      public Details()
      Initializes a new Details component.
    • Details

      public Details(String summary)
      Initializes a new Details using the provided summary.
      Parameters:
      summary - the summary component to set.
      See Also:
    • Details

      public Details(com.vaadin.flow.component.Component summary)
      Initializes a new Details using the provided summary.
      Parameters:
      summary - the summary component to set.
      See Also:
    • Details

      public Details(String summary, com.vaadin.flow.component.Component content)
      Initializes a new Details using the provided summary and content.
      Parameters:
      summary - the summary text to set.
      content - the content component to add.
      See Also:
    • Details

      public Details(com.vaadin.flow.component.Component summary, com.vaadin.flow.component.Component content)
      Initializes a new Details using the provided summary and content.
      Parameters:
      summary - the summary component to set.
      content - the content component to add.
      See Also:
    • Details

      public Details(String summary, com.vaadin.flow.component.Component... components)
      Initializes a new Details using the provided summary and content components.
      Parameters:
      summary - the summary text to set.
      components - the content components to add.
      See Also:
    • Details

      public Details(com.vaadin.flow.component.Component summary, com.vaadin.flow.component.Component... components)
      Initializes a new Details using the provided summary and content components.
      Parameters:
      summary - the summary component to set.
      components - the content components to add.
      See Also:
  • Method Details

    • createSummaryContainer

      protected com.vaadin.flow.component.Component createSummaryContainer()
      Creates the summary container component.
      Returns:
      the summary container
    • setSummary

      public void setSummary(com.vaadin.flow.component.Component summary)
      Sets the component summary
      Parameters:
      summary - the summary component to set, or null to remove any previously set summary
      See Also:
    • getSummary

      public com.vaadin.flow.component.Component getSummary()
      Returns summary component which was set via setSummary(Component) or setSummaryText(String)
      Returns:
      the summary component, null if nothing was set
    • setSummaryText

      public void setSummaryText(String summary)
      Creates a text wrapper and sets a summary via setSummary(Component)
    • getSummaryText

      public String getSummaryText()
      Returns:
      summary section content as string (empty string if nothing was set)
    • add

      public void add(Collection<com.vaadin.flow.component.Component> components)
      Adds components to the content section
      Specified by:
      add in interface com.vaadin.flow.component.HasComponents
      Parameters:
      components - the components to add
      See Also:
    • add

      public void add(String text)
      Adds the given text to the content section
      Specified by:
      add in interface com.vaadin.flow.component.HasComponents
      Parameters:
      text - the text to add, not null
      See Also:
    • remove

      public void remove(Collection<com.vaadin.flow.component.Component> components)
      Removes specified components from the content section
      Specified by:
      remove in interface com.vaadin.flow.component.HasComponents
      Parameters:
      components - the components to remove
    • removeAll

      public void removeAll()
      Removes all components from the content section
      Specified by:
      removeAll in interface com.vaadin.flow.component.HasComponents
    • addComponentAtIndex

      public void addComponentAtIndex(int index, com.vaadin.flow.component.Component component)
      Adds the given component to the content section at the specific index.

      In case the specified component has already been added to another parent, it will be removed from there and added to the content section of this one.

      Specified by:
      addComponentAtIndex in interface com.vaadin.flow.component.HasComponents
      Parameters:
      index - the index, where the component will be added. The index must be non-negative and may not exceed the children count
      component - the component to add, value should not be null
    • getContent

      public Stream<com.vaadin.flow.component.Component> getContent()
      Returns the content components which were added via HasComponents.add(Component...)
      Returns:
      the child components of the content section
    • isOpened

      @Synchronize(property="opened", value="opened-changed") public boolean isOpened()
      Returns:
      whether details are expanded or collapsed
    • setOpened

      public void setOpened(boolean opened)

      True if the details are opened and the content is displayed

      Parameters:
      opened - the boolean value to set
    • addOpenedChangeListener

      public com.vaadin.flow.shared.Registration addOpenedChangeListener(com.vaadin.flow.component.ComponentEventListener<Details.OpenedChangeEvent> listener)
      Adds a listener to get notified when the opened state of the component changes.
      Parameters:
      listener - the listener
      Returns:
      a Registration for removing the event listener