Class Details

  • All Implemented Interfaces:
    com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, 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, HasTooltip, Serializable

    @Tag("vaadin-details")
    @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.6.3") @NpmPackage(value="@vaadin/details",version="23.6.3") @NpmPackage(value="@vaadin/vaadin-details",version="23.6.3")
    @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/details/src/vaadin-details.js")
    public class Details
    extends com.vaadin.flow.component.Component
    implements com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasTheme, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasSize, 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:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Details()
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addContent​(com.vaadin.flow.component.Component... components)
      Adds components to the content section
      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.
      void addThemeVariants​(DetailsVariant... variants)
      Adds theme variants to the component.
      Stream<com.vaadin.flow.component.Component> getContent()
      Returns the content components which were added via setContent(Component) or via addContent(Component...)
      com.vaadin.flow.component.Component getSummary()
      Returns summary component which was set via setSummary(Component) or setSummaryText(String)
      String getSummaryText()  
      boolean isOpened()
      void removeThemeVariants​(DetailsVariant... variants)
      Removes theme variants from the component.
      void setContent​(com.vaadin.flow.component.Component content)
      Sets the component content
      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 setSummaryText​(String summary)
      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, scrollIntoView, set, setElement, setId, setVisible
      • 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.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
    • Constructor Detail

      • 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:
        setSummaryText(String)
      • 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:
        setSummary(Component)
      • 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 set.
        See Also:
        setSummaryText(String), setContent(Component)
      • 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 set.
        See Also:
        setSummary(Component), setContent(Component)
      • 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 set.
        See Also:
        setSummaryText(String), addContent(Component...)
      • 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 set.
        See Also:
        setSummary(Component), addContent(Component...)
    • Method Detail

      • 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()
      • 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
      • getSummaryText

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

        public void setContent​(com.vaadin.flow.component.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:
        getContent()
      • addContent

        public void addContent​(com.vaadin.flow.component.Component... components)
        Adds components to the content section
        Parameters:
        components - the components to add
        See Also:
        getContent()
      • 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
      • addThemeVariants

        public void addThemeVariants​(DetailsVariant... variants)
        Adds theme variants to the component.
        Parameters:
        variants - theme variants to add
      • removeThemeVariants

        public void removeThemeVariants​(DetailsVariant... variants)
        Removes theme variants from the component.
        Parameters:
        variants - theme variants to remove
      • 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