/** * @class Ext.Component * @extends Ext.lib.Component *Base class for all Ext components. All subclasses of Component may participate in the automated * Ext component lifecycle of creation, rendering and destruction which is provided by the {@link Ext.Container Container} class. * Components may be added to a Container through the {@link Ext.Container#items items} config option at the time the Container is created, * or they may be added dynamically via the {@link Ext.Container#add add} method.
*The Component base class has built-in support for basic hide/show and enable/disable behavior.
*All Components are registered with the {@link Ext.ComponentMgr} on construction so that they can be referenced at any time via * {@link Ext#getCmp}, passing the {@link #id}.
*All user-developed visual widgets that are required to participate in automated lifecycle and size management should subclass Component (or * {@link Ext.BoxComponent} if managed box model handling is required, ie height and width management).
*See the Creating new UI controls tutorial for details on how * and to either extend or augment ExtJs base classes to create custom Components.
*Every component has a specific xtype, which is its Ext-specific type name, along with methods for checking the * xtype like {@link #getXType} and {@link #isXType}. This is the list of all valid xtypes:
*xtype Class ------------- ------------------ button {@link Ext.Button} component {@link Ext.Component} container {@link Ext.Container} dataview {@link Ext.DataView} panel {@link Ext.Panel} slider {@link Ext.form.Slider} toolbar {@link Ext.Toolbar} spacer {@link Ext.Spacer} tabpanel {@link Ext.TabPanel} Form components --------------------------------------- formpanel {@link Ext.form.FormPanel} checkboxfield {@link Ext.form.Checkbox} selectfield {@link Ext.form.Select} field {@link Ext.form.Field} fieldset {@link Ext.form.FieldSet} hiddenfield {@link Ext.form.Hidden} numberfield {@link Ext.form.Number} radiofield {@link Ext.form.Radio} textareafield {@link Ext.form.TextArea} textfield {@link Ext.form.Text} togglefield {@link Ext.form.Toggle}* @constructor * @param {Ext.Element/String/Object} config The configuration options may be specified as either: ** @xtype component */ Ext.Component = Ext.extend(Ext.lib.Component, { /** * @cfg {Object/String/Boolean} showAnimation * The type of animation you want to use when this component is shown. If you set this * this hide animation will automatically be the opposite. */ showAnimation: null, /** * @cfg {Boolean} monitorOrientation * Monitor Orientation change */ monitorOrientation: false, /** * @cfg {Boolean} floatingCls * The class that is being added to this component when its floating. * (defaults to x-floating) */ floatingCls: 'x-floating', /** * @cfg {Boolean} hideOnMaskTap * True to automatically bind a tap listener to the mask that hides the window. * Defaults to true. Note: if you set this property to false you have to programmaticaly * hide the overlay. */ hideOnMaskTap: true, /** * @cfg {Boolean} stopMaskTapEvent * True to stop the event that fires when you click outside the floating component. * Defalts to true. */ stopMaskTapEvent: true, /** * @cfg {Boolean} centered * Center the Component. Defaults to false. */ centered: false, /** * @cfg {Boolean} modal * True to make the Component modal and mask everything behind it when displayed, false to display it without * restricting access to other UI elements (defaults to false). */ modal: false, /** * @cfg {Mixed} scroll * Configure the component to be scrollable. Acceptable values are: **
- an element : *
*it is set as the internal element and its id used as the component id
- a string : *
*it is assumed to be the id of an existing element and is used as the component id
- anything else : *
*it is assumed to be a standard config object and is applied to the component