Constructs a component with an optionally supplied config. All subclasses must call the constructor of their superclass and then merge their configuration into the component's configuration.
the configuration for the component
Gets the event that is fired when the component's hover-state is changing.
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.
the player which this component controls
the UIInstanceManager that manages this component
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.
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().
The base class of the UI framework. Each component must extend this class and optionally the config interface.