Class Details

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

@Tag("vaadin-details") @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="24.0.8") @NpmPackage(value="@vaadin/details",version="24.0.8") @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/details/src/vaadin-details.js") public class Details extends Component implements HasEnabled, HasSize, HasStyle, 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:
  • 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(Component summary)
      Initializes a new Details using the provided summary.
      Parameters:
      summary - the summary component to set.
      See Also:
    • Details

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

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

      public Details(String summary, 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 set.
      See Also:
    • Details

      public Details(Component summary, 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 set.
      See Also:
  • Method Details

    • createSummaryContainer

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

      public void setSummary(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 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)
    • setContent

      public void setContent(Component content)
      Sets the component content
      Parameters:
      content - the content of the component to set, or null to remove any previously set content
      See Also:
    • addContent

      public void addContent(Component... components)
      Adds components to the content section
      Parameters:
      components - the components to add
      See Also:
    • getContent

      public Stream<Component> getContent()
      Returns the content components which were added via setContent(Component) or via addContent(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 Registration addOpenedChangeListener(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