Class Container<Config>

A container component that can contain a collection of child components. Components can be added at construction time through the ContainerConfig#components setting, or later through the Container#addComponent method. The UIManager automatically takes care of all components, i.e. it initializes and configures them automatically.

In the DOM, the container consists of an outer

(that can be configured by the config) and an inner wrapper

that contains the components. This double-
-structure is often required to achieve many advanced effects in CSS and/or JS, e.g. animations and certain formatting with absolute positioning.

DOM example:

... child components ...

Type Parameters

Hierarchy (view full)

Constructors

Accessors

  • get onDisabled(): Event<Component<Config>, NoArgs>
  • Gets the event that is fired when the component is disabling. See the detailed explanation on event architecture on the #componentEvents events list.

    Returns Event<Component<Config>, NoArgs>

Methods

  • Configures the component for the supplied Player and UIInstanceManager. This is the place where all the magic happens, where components typically subscribe and react to events (on their DOM element, the Player, or the UIInstanceManager), and basically everything that makes them interactive. This method is called only once, when the UIManager initializes the UI.

    Subclasses usually overwrite this method to add their own functionality.

    Parameters

    • player: PlayerAPI

      the player which this component controls

    • uimanager: UIInstanceManager

      the UIInstanceManager that manages this component

    Returns void

  • Disables the component. This method basically transfers the component into the disabled state. Actual disabling is done via CSS or child components. (e.g. Button needs to unsubscribe click listeners)

    Returns void

  • Enables the component. This method basically transfers the component into the enabled state. Actual enabling is done via CSS or child components. (e.g. Button needs to subscribe click listeners)

    Returns void

  • Initializes the component, e.g. by applying config settings. This method must not be called from outside the UI framework.

    This method is automatically called by the UIInstanceManager. If the component is an inner component of some component, and thus encapsulated abd managed internally and never directly exposed to the UIManager, this method must be called from the managing component's #initialize method.

    Returns void

  • Releases all resources and dependencies that the component holds. Player, DOM, and UIManager events are automatically removed during release and do not explicitly need to be removed here. This method is called by the UIManager when it releases the UI.

    Subclasses that need to release resources should override this method and call super.release().

    Returns void

  • Removes a child component from the container.

    Parameters

    Returns boolean

    true if the component has been removed, false if it is not contained in this container