# Class Ext.ComponentMgr

Package: | Ext
Defined In: | ComponentMgr.js
Class: | ComponentMgr
Extends: | Object

Provides a registry of all Components (instances of Ext.Component or any subclass thereof) on a page so that they can be easily accessed by component id (see get, or the convenience method Ext.getCmp).

This object also provides a registry of available Component classes indexed by a mnemonic code known as the Component's xtype. The `xtype` provides a way to avoid instantiating child Components when creating a full, nested config object for a complete Ext page.

A child Component may be specified simply as a config object as long as the correct `xtype` is specified so that if and when the Component needs rendering, the correct type can be looked up for lazy instantiation.

For a list of all available `xtypes`, see Ext.Component.

This class is a singleton and cannot be created directly.

## Public Properties

Property | Defined By
--- | ---
| all : MixedCollection The MixedCollection used internally for the component cache. An example usage may be subscribing to events on the Mix... The MixedCollection used internally for the component cache. An example usage may be subscribing to events on the MixedCollection to monitor addition or removal. Read-only. | ComponentMgr
| ptypes : Object The ptypes that have been registered with the component manager. | ComponentMgr
| types : Object The xtypes that have been registered with the component manager. | ComponentMgr

## Public Methods

Method | Defined By
--- | ---
| create( Object config, Constructor defaultType ) : Ext.Component Creates a new Component from the specified config object using the config object's xtype to determine the class to in... Creates a new Component from the specified config object using the config object's xtype to determine the class to instantiate. Parameters: `config` : Object A configuration object for the Component you wish to create. `defaultType` : Constructor The constructor to provide the default Component type if the config object does not contain a `xtype`. (Optional if the config contains a `xtype`). Returns: `Ext.Component` The newly instantiated Component. | ComponentMgr
| createPlugin( Object config, Constructor defaultType ) : Ext.Component Creates a new Plugin from the specified config object using the config object's ptype to determine the class to insta... Creates a new Plugin from the specified config object using the config object's ptype to determine the class to instantiate. Parameters: `config` : Object A configuration object for the Plugin you wish to create. `defaultType` : Constructor The constructor to provide the default Plugin type if the config object does not contain a `ptype`. (Optional if the config contains a `ptype`). Returns: `Ext.Component` The newly instantiated Plugin. | ComponentMgr
| get( String id ) : Ext.Component Returns a component by id. For additional details see Ext.util.MixedCollection.get. Returns a component by id. For additional details see Ext.util.MixedCollection.get. Parameters: `id` : String The component id Returns: `Ext.Component` The Component, <code>undefined</code> if not found, or <code>null</code> if a Class was found. | ComponentMgr
| isPluginRegistered( Ext.Component ptype ) : Boolean Checks if a Plugin type is registered. Checks if a Plugin type is registered. Parameters: `ptype` : Ext.Component The mnemonic string by which the Plugin class may be looked up Returns: `Boolean` Whether the type is registered. | ComponentMgr
| isRegistered( Ext.Component xtype ) : Boolean Checks if a Component type is registered. Checks if a Component type is registered. Parameters: `xtype` : Ext.Component The mnemonic string by which the Component class may be looked up Returns: `Boolean` Whether the type is registered. | ComponentMgr
| onAvailable( String id, Function fn, Object scope ) : void Registers a function that will be called when a Component with the specified id is added to ComponentMgr. This will h... Registers a function that will be called when a Component with the specified id is added to ComponentMgr. This will happen on instantiation. Parameters: `id` : String The component id `fn` : Function The callback function `scope` : Object The scope (`this` reference) in which the callback is executed. Defaults to the Component. Returns: void | ComponentMgr
| register( Ext.Component c ) : void Registers a component. Registers a component. Parameters: `c` : Ext.Component The component Returns: void | ComponentMgr
| registerPlugin( String ptype, Constructor cls ) : void Registers a new Plugin constructor, keyed by a new Ext.Component.ptype. Use this method (or its alias Ext.preg) to re... Registers a new Plugin constructor, keyed by a new Ext.Component.ptype. Use this method (or its alias Ext.preg) to register new plugins for Ext.Components so that lazy instantiation may be used when specifying Plugins. Parameters: `ptype` : String The mnemonic string by which the Plugin class may be looked up. `cls` : Constructor The new Plugin class. Returns: void | ComponentMgr
| registerType( String xtype, Constructor cls ) : void Registers a new Component constructor, keyed by a new Ext.Component.xtype. Use this method (or its alias Ext.reg) to ... Registers a new Component constructor, keyed by a new Ext.Component.xtype. Use this method (or its alias Ext.reg) to register new subclasses of Ext.Component so that lazy instantiation may be used when specifying child Components. see Ext.Container.items Parameters: `xtype` : String The mnemonic string by which the Component class may be looked up. `cls` : Constructor The new Component class. Returns: void | ComponentMgr
| unregister( Ext.Component c ) : void Unregisters a component. Unregisters a component. Parameters: `c` : Ext.Component The component Returns: void | ComponentMgr

## Public Events

This class has no public events.