Properties Methods Events Config Options Direct Link

    Observable
      Component
        BoxComponent
          Button
            SplitButton

# Class Ext.SplitButton

Package: | Ext
Defined In: | SplitButton.js
Class: | SplitButton
Subclasses: | CycleButton, Toolbar.SplitButton
Extends: | Button

A split button that provides a built-in dropdown arrow that can fire an event separately from the default click event of the button. Typically this would be used to display a dropdown menu that provides additional options to the primary button action, but any custom handler can provide the arrowclick implementation. Example usage:

    // display a dropdown menu:
    new Ext.SplitButton({
    	renderTo: 'button-ct', // the container id
       	text: 'Options',
       	handler: optionsHandler, // handle a click on the button itself
       	menu: new Ext.menu.Menu({
            items: [
            	// these items will render as dropdown menu items when the arrow is clicked:
    	        {text: 'Item 1', handler: item1Handler},
    	        {text: 'Item 2', handler: item2Handler}
            ]
       	})
    });

    // Instead of showing a menu, you provide any type of custom
    // functionality you want when the dropdown arrow is clicked:
    new Ext.SplitButton({
    	renderTo: 'button-ct',
       	text: 'Options',
       	handler: optionsHandler,
       	arrowHandler: myCustomHandler
    });

## Config Options

Config Options | Defined By
--- | ---
| allowDepress : Boolean False to not allow a pressed Button to be depressed (defaults to undefined). Only valid when enableToggle is true. | Button
| allowDomMove : Boolean Whether the component can move the Dom node when rendering (defaults to true). | Component
| applyTo : Mixed The id of the element, a DOM element or an existing Element corresponding to a DIV that is already present in the doc... The id of the element, a DOM element or an existing Element corresponding to a DIV that is already present in the document that specifies some structural markup for this component. When applyTo is used, constituent parts of the component can also be specified by id or CSS class name within the main element, and the component being created may attempt to create its subcomponents from that markup if applicable. Using this config, a call to render() is not required. If applyTo is specified, any value passed for renderTo will be ignored and the target element's parent node will automatically be used as the component's container. | Component
| arrowHandler : Function A function called when the arrow button is clicked (can be used instead of click event) | SplitButton
| arrowTooltip : String The title attribute of the arrow | SplitButton
| autoEl : Mixed A tag name or DomHelper spec used to create the Element which will encapsulate this Component. You only need to speci... A tag name or DomHelper spec used to create the Element which will encapsulate this Component. You only need to specify this when creating or subclassing the base classes Ext.Component, Ext.BoxComponent, and Ext.Container. The more complex Ext classes use a more complex DOM structure created by their own onRender methods. This is intended to allow the developer to create application-specific utility Components encapsulated by different DOM elements. Example usage:
    {
        xtype: 'box',
        autoEl: {
            tag: 'img',
            src: 'http://www.example.com/example.jpg'
        }
    }, {
        xtype: 'box',
        autoEl: {
            tag: 'blockquote',
            html: 'autoEl is cool!'
        }
    }, {
        xtype: 'container',
        autoEl: 'ul',
        cls: 'ux-unordered-list',
        items: {
            xtype: 'box',
            autoEl: 'li',
            html: 'First list item'
        }
    }
| Component
| autoHeight : Boolean True to use height:'auto', false to use fixed height (defaults to false). Note: Although many components inherit this... True to use height:'auto', false to use fixed height (defaults to false). Note: Although many components inherit this config option, not all will function as expected with a height of 'auto'. Setting autoHeight:true means that the browser will manage height based on the element's contents, and that Ext will not manage it at all. | BoxComponent
| autoShow : Boolean True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render... True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render (defaults to false). | Component
| autoWidth : Boolean True to use width:'auto', false to use fixed width (defaults to false). Note: Although many components inherit this c... True to use width:'auto', false to use fixed width (defaults to false). Note: Although many components inherit this config option, not all will function as expected with a width of 'auto'. Setting autoWidth:true means that the browser will manage width based on the element's contents, and that Ext will not manage it at all. | BoxComponent
| buttonSelector : String (Optional) A DomQuery selector which is used to extract the active, clickable element from the DOM structure created.... (Optional) A DomQuery selector which is used to extract the active, clickable element from the DOM structure created. When a custom template is used, you must ensure that this selector results in the selection of a focussable element. Defaults to `"button:first-child"`. | Button
| clearCls : String The CSS class used to provide field clearing (defaults to 'x-form-clear-left'). This config is only used when this Co... The CSS class used to provide field clearing (defaults to 'x-form-clear-left'). This config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager. | Component
| clickEvent : String The type of event to map to the button's event handler (defaults to 'click') | Button
| cls : String An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for a... An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for adding customized styles to the component or any of its children using standard CSS rules. | Component
| ctCls : String An optional extra CSS class that will be added to this component's container (defaults to ''). This can be useful for... An optional extra CSS class that will be added to this component's container (defaults to ''). This can be useful for adding customized styles to the container or any of its children using standard CSS rules. | Component
| disabled : Boolean Render this component disabled (default is false). | Component
| disabledClass : String CSS class added to the component when it is disabled (defaults to "x-item-disabled"). | Component
| enableToggle : Boolean True to enable pressed/not pressed toggling (defaults to false) | Button
| fieldLabel : String The label text to display next to this Component (defaults to '') This config is only used when this Component is ren... The label text to display next to this Component (defaults to '') This config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name'
        }]
    });
| Component
| handleMouseEvents : Boolean False to disable visual cues on mouseover, mouseout and mousedown (defaults to true) | Button
| handler : Function A function called when the button is clicked (can be used instead of click event). The handler is passed the followin... A function called when the button is clicked (can be used instead of click event). The handler is passed the following parameters: `b` : Button This Button. `e` : EventObject The click event. | Button
| height : Number The height of this component in pixels (defaults to auto). | BoxComponent
| hidden : Boolean Render this component hidden (default is false). | Component
| hideLabel : Boolean True to completely hide the label element (defaults to false). By default, even if you do not specify a fieldLabel th... True to completely hide the label element (defaults to false). By default, even if you do not specify a fieldLabel the space will still be reserved so that the field will line up with other fields that do have labels. Setting this to true will cause the field to not reserve that space. This config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield'
            hideLabel: true
        }]
    });
| Component
| hideMode : String How this component should be hidden. Supported values are "visibility" (css visibility), "offsets" (negative offset p... How this component should be hidden. Supported values are "visibility" (css visibility), "offsets" (negative offset position) and "display" (css display) - defaults to "display". For Containers which may be hidden and shown as part of a card layout Container such as a TabPanel, it is recommended that hideMode is configured as "offsets". This ensures that hidden Components still have height and width so that layout managers can perform measurements when calculating layouts. | Component
| hideParent : Boolean True to hide and show the component's container when hide/show is called on the component, false to hide and show the... True to hide and show the component's container when hide/show is called on the component, false to hide and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide button on a window by setting hide:true on the button when adding it to its parent container. | Component
| icon : String The path to an image to display in the button (the image will be set as the background-image CSS property of the butt... The path to an image to display in the button (the image will be set as the background-image CSS property of the button by default, so if you want a mixed icon/text button, set cls:"x-btn-text-icon") | Button
| iconCls : String A css class which sets a background image to be used as the icon for this button | Button
| id : String The unique id of this component (defaults to an auto-assigned id). You should assign an id if you need to be able to ... The unique id of this component (defaults to an auto-assigned id). You should assign an id if you need to be able to access the component later and you do not have an object reference available (e.g., using Ext.ComponentMgr.getCmp). Note that this id will also be used as the element id for the containing HTML element that is rendered to the page for this component. This allows you to write id-based CSS rules to style the specific instance of this component uniquely, and also to select sub-elements using this component's id as the parent. | Component
| itemCls : String An additional CSS class to apply to the wrapper's form item element of this field (defaults to the container's itemCl... An additional CSS class to apply to the wrapper's form item element of this field (defaults to the container's itemCls value if set, or ''). Since it is applied to the item wrapper, it allows you to write standard CSS rules that can apply to the field, the label (if specified) or any other element within the markup for the field. This config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager. Example use:
    // Apply a style to the field's label:
    <style>
        .required .x-form-item-label {font-weight:bold;color:red;}
    </style>

    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name',
            itemCls: 'required' //this label will be styled
        },{
            xtype: 'textfield',
            fieldLabel: 'Favorite Color'
        }]
    });
| Component
| labelSeparator : String The standard separator to display after the text of each form label (defaults to the value of Ext.layout.FormLayout.l... The standard separator to display after the text of each form label (defaults to the value of Ext.layout.FormLayout.labelSeparator, which is a colon ':' by default). To display no separator for this field's label specify empty string ''. This config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name',
            labelSeparator: '...'
        }]
    });
| Component
| labelStyle : String A CSS style specification to apply directly to this field's label (defaults to the container's labelStyle value if se... A CSS style specification to apply directly to this field's label (defaults to the container's labelStyle value if set, or '').``. This config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name',
            labelStyle: 'font-weight:bold;'
        }]
    });
| Component
| listeners : Object (optional) A config object containing one or more event handlers to be added to this object during initialization. Th... (optional) A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the addListener example for attaching multiple handlers at once. | Observable
| menu : Mixed Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to unde... Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined). | Button
| menuAlign : String The position to align the menu to (see Ext.Element.alignTo for more details, defaults to 'tl-bl?'). | Button
| minWidth : Number The minimum width for this button (used to give a set of buttons a common width) | Button
| overCls : String An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and... An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and removed when the mouse moves out. (defaults to ''). This can be useful for adding customized "active" or "hover" styles to the component or any of its children using standard CSS rules. | Component
| pageX : Number The page level x coordinate for this component if contained within a positioning container. | BoxComponent
| pageY : Number The page level y coordinate for this component if contained within a positioning container. | BoxComponent
| plugins : Object/Array An object or array of objects that will provide custom functionality for this component. The only requirement for a v... An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component. When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality. | Component
| pressed : Boolean True to start pressed (only if enableToggle = true) | Button
| renderTo : Mixed The id of the element, a DOM element or an existing Element that this component will be rendered into. When using thi... The id of the element, a DOM element or an existing Element that this component will be rendered into. When using this config, a call to render() is not required. If this Component needs to be managed by a Container's layout manager, do not use this option. It is the responsiblity of the Container's layout manager to perform rendering. See render. | Component
| repeat : Boolean/Object True to repeat fire the click event while the mouse is down. This can also be a ClickRepeater config object (defaults... True to repeat fire the click event while the mouse is down. This can also be a ClickRepeater config object (defaults to false). | Button
| scope : Object The scope (`this` reference) in which the handler is executed. Defaults to this Button. | Button
| stateEvents : Array An array of events that, when fired, should trigger this component to save its state (defaults to none). These can be... An array of events that, when fired, should trigger this component to save its state (defaults to none). These can be any types of events supported by this component, including browser or custom events (e.g., ['click', 'customerchange']). See stateful for an explanation of saving and restoring Component state. | Component
| stateId : String The unique id for this component to use for state management purposes (defaults to the component id if one was set, o... The unique id for this component to use for state management purposes (defaults to the component id if one was set, otherwise null if the component is using a generated id). See stateful for an explanation of saving and restoring Component state. | Component
| stateful : Boolean A flag which causes the Component to attempt to restore the state of internal properties from a saved state on startu... A flag which causes the Component to attempt to restore the state of internal properties from a saved state on startup. The component must have either a stateId or id assigned for state to be managed. Auto-generated ids are not guaranteed to be stable across page loads and cannot be relied upon to save and restore the same state for a component. For state saving to work, the state manager's provider must have been set to an implementation of Ext.state.Provider which overrides the set and get methods to save and recall name/value pairs. A built-in implementation, Ext.state.CookieProvider is available. To set the state provider for the current page:
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
Components attempt to save state when one of the events listed in the stateEvents configuration fires. You can perform extra processing on state save and restore by attaching handlers to the beforestaterestore, staterestore, beforestatesave and statesave events | Component
| style : String A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.Element.app... A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.Element.applyStyles. | Component
| tabIndex : Number Set a DOM tabIndex for this button (defaults to undefined) | Button
| template : Ext.Template (Optional) An Ext.Template with which to create the Button's main element. This Template must contain numeric substit... (Optional) An Ext.Template with which to create the Button's main element. This Template must contain numeric substitution parameter 0 if it is to display the text property. Changing the template could require code modifications if required elements (e.g. a button) aren't present. | Button
| text : String The button text | Button
| toggleGroup : String The group this toggle button is a member of (only 1 per group can be pressed) | Button
| toggleHandler : Function Function called when a Button with enableToggle set to true is clicked. Two arguments are passed: button : Ext.Button... Function called when a Button with enableToggle set to true is clicked. Two arguments are passed: button : Ext.Button this Button object state : Boolean The next state if the Button, true means pressed. | Button
| tooltip : String/Object The tooltip for the button - can be a string or QuickTips config object | Button
| tooltipType : String The type of tooltip to use. Either "qtip" (default) for QuickTips or "title" for title attribute. | Button
| type : String submit, reset or button - defaults to 'button' | Button
| width : Number The width of this component in pixels (defaults to auto). | BoxComponent
| x : Number The local x (left) coordinate for this component if contained within a positioning container. | BoxComponent
| xtype : String The registered xtype to create. This config option is not used when passing a config object into a constructor. This ... The registered xtype to create. This config option is not used when passing a config object into a constructor. This config option is used only when lazy instantiation is being used, and a child item of a Container is being specified not as a fully instantiated Component, but as a Component config object. The xtype will be looked up at render time up to determine what type of child Component to create. The predefined xtypes are listed here. If you subclass Components to create your own Components, you may register them using Ext.ComponentMgr.registerType in order to be able to take advantage of lazy instantiation and rendering. | Component
| y : Number The local y (top) coordinate for this component if contained within a positioning container. | BoxComponent

## Public Properties

Property | Defined By
--- | ---
| btnEl : Ext.Element An Element encapsulating the Button's clickable element. This references a `<button>` element. Read only. | Button
| disabled : Boolean True if this component is disabled. Read-only. | Component
| hidden : Boolean True if this component is hidden. Read-only. | Component
| initialConfig : Object This Component's initial configuration specification. Read-only. | Component
| menu : Menu The | Button
| ownerCt : Ext.Container The component's owner Ext.Container (defaults to undefined, and is set automatically when the component is added to a... The component's owner Ext.Container (defaults to undefined, and is set automatically when the component is added to a container). Read-only. | Component
| pressed : Boolean Read-only. True if this button is pressed (only if enableToggle = true) | Button
| rendered : Boolean True if this component has been rendered. Read-only. | Component

## Public Methods

Method | Defined By
--- | ---
| SplitButton( `Object config` ) Create a new menu button Create a new menu button Parameters: `config` : Object The config object Returns: `` | SplitButton
| addClass( `string cls` ) : void Adds a CSS class to the component's underlying element. Adds a CSS class to the component's underlying element. Parameters: `cls` : string The CSS class name to add Returns: `void` | Component
| addEvents( `Object object` ) : void Used to define events on this Observable Used to define events on this Observable Parameters: `object` : Object The object with the events defined Returns: `void` | Observable
- | addListener( `String eventName`, `Function handler`, [`Object scope`], [`Object options`] ) : void Appends an event handler to this component Appends an event handler to this component Parameters: `eventName` : String The type of event to listen for `handler` : Function The method the event invokes `scope` : Object (optional) The scope (`this` reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. `options` : Object (optional) An object containing handler configuration properties. This may contain any of the following properties: scope : Object The scope (`this` reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. delay : Number The number of milliseconds to delay the invocation of the handler after the event fires. single : Boolean True to add a handler to handle just the next firing of the event, and then remove itself. buffer : Number Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. target : Observable Only call the handler if the event was fired on the target Observable, not if the event was bubbled up from a child Observable. Combining Options Using the options argument, it is possible to combine different types of listeners: A delayed, one-time listener.
      myDataView.on('click', this.onClick, this, {
          single: true,
          delay: 100
      });
  Attaching multiple handlers in 1 call The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.
      myGridPanel.on({
          'click' : {
              fn: this.onClick,
              scope: this,
              delay: 100
          },
          'mouseover' : {
              fn: this.onMouseOver,
              scope: this
          },
          'mouseout' : {
              fn: this.onMouseOut,
              scope: this
          }
      });
  Or a shorthand syntax:
      myGridPanel.on({
          'click' : this.onClick,
          'mouseover' : this.onMouseOver,
          'mouseout' : this.onMouseOut,
           scope: this
      });
Returns: `void` | Observable
| applyToMarkup( `String/HTMLElement el` ) : void Apply this component to existing markup that is valid. With this function, no call to render() is required. Apply this component to existing markup that is valid. With this function, no call to render() is required. Parameters: `el` : String/HTMLElement Returns: `void` | Component
| cloneConfig( `Object overrides` ) : Ext.Component Clone the current component using the original config values passed into this instance by default. Clone the current component using the original config values passed into this instance by default. Parameters: `overrides` : Object A new config containing any properties to override in the cloned version. An id property can be passed on this object, otherwise one will be generated to avoid duplicates. Returns: `Ext.Component` clone The cloned copy of this component | Component
| destroy() : void Destroys this component by purging any event listeners, removing the component's element from the DOM, removing the c... Destroys this component by purging any event listeners, removing the component's element from the DOM, removing the component from its Ext.Container (if applicable) and unregistering it from Ext.ComponentMgr. Destruction is generally handled automatically by the framework and this method should usually not need to be called directly. Parameters: None. Returns: `void` | Component
| disable() : Ext.Component Disable this component. Disable this component. Parameters: None. Returns: `Ext.Component` this | Component
| enable() : Ext.Component Enable this component. Enable this component. Parameters: None. Returns: `Ext.Component` this | Component
| findParentBy( `Function fcn`, [`Object scope`] ) : Ext.Container Find a container above this component at any level by a custom function. If the passed function returns true, the con... Find a container above this component at any level by a custom function. If the passed function returns true, the container will be returned. The passed function is called with the arguments (container, this component). Parameters: `fcn` : Function `scope` : Object (optional) Returns: `Ext.Container` The first Container for which the custom function returns true | Component
| findParentByType( `String/Class xtype` ) : Ext.Container Find a container above this component at any level by xtype or class Find a container above this component at any level by xtype or class Parameters: `xtype` : String/Class The xtype string for a component, or the class of the component directly Returns: `Ext.Container` The first Container which matches the given xtype or class | Component
| fireEvent( `String eventName`, `Object... args` ) : Boolean Fires the specified event with the passed parameters (minus the event name). Fires the specified event with the passed parameters (minus the event name). Parameters: `eventName` : String `args` : Object... Variable number of parameters are passed to handlers Returns: `Boolean` returns false if any of the handlers return false otherwise it returns true | Observable
| focus( [`Boolean selectText`], [`Boolean/Number delay`] ) : Ext.Component Try to focus this component. Try to focus this component. Parameters: `selectText` : Boolean (optional) If applicable, true to also select the text in this component `delay` : Boolean/Number (optional) Delay the focus this number of milliseconds (true for 10 milliseconds) Returns: `Ext.Component` this | Component
| getBox( [`Boolean local`] ) : Object Gets the current box measurements of the component's underlying element. Gets the current box measurements of the component's underlying element. Parameters: `local` : Boolean (optional) If true the element's left and top are returned instead of page XY (defaults to false) Returns: `Object` box An object in the format {x, y, width, height} | BoxComponent
| getEl() : Ext.Element Returns the underlying Ext.Element. Returns the underlying Ext.Element. Parameters: None. Returns: `Ext.Element` The element | Component
| getId() : String Returns the id of this component. Returns the id of this component. Parameters: None. Returns: `String` | Component
| getItemId() : String Returns the item id of this component. Returns the item id of this component. Parameters: None. Returns: `String` | Component
| getPosition( [`Boolean local`] ) : Array Gets the current XY position of the component's underlying element. Gets the current XY position of the component's underlying element. Parameters: `local` : Boolean (optional) If true the element's left and top are returned instead of page XY (defaults to false) Returns: `Array` The XY position of the element (e.g., [100, 200]) | BoxComponent
| getSize() : Object Gets the current size of the component's underlying element. Gets the current size of the component's underlying element. Parameters: None. Returns: `Object` An object containing the element's size {width: (element width), height: (element height)} | BoxComponent
| getText() : String Gets the text for this button Gets the text for this button Parameters: None. Returns: `String` The button text | Button
| getXType() : String Gets the xtype for this component as registered with Ext.ComponentMgr. For a list of all available xtypes, see the Ex... Gets the xtype for this component as registered with Ext.ComponentMgr. For a list of all available xtypes, see the Ext.Component header. Example usage:
    var t = new Ext.form.TextField();
    alert(t.getXType());  // alerts 'textfield'
Parameters: None. Returns: `String` The xtype | Component
| getXTypes() : String Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext... Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext.Component header. If using your own subclasses, be aware that a Component must register its own xtype to participate in determination of inherited xtypes. Example usage:
    var t = new Ext.form.TextField();
    alert(t.getXTypes());  // alerts 'component/box/field/textfield'
Parameters: None. Returns: `String` The xtype hierarchy string | Component
| hasListener( `String eventName` ) : Boolean Checks to see if this object has any listeners for a specified event Checks to see if this object has any listeners for a specified event Parameters: `eventName` : String The name of the event to check for Returns: `Boolean` True if the event is being listened for, else false | Observable
| hasVisibleMenu() : Boolean Returns true if the button has a menu and it is visible Returns true if the button has a menu and it is visible Parameters: None. Returns: `Boolean` | Button
| hide() : Ext.Component Hide this component. Hide this component. Parameters: None. Returns: `Ext.Component` this | Component
| hideMenu() : void Hide this button's menu (if it has one) Hide this button's menu (if it has one) Parameters: None. Returns: `void` | Button
| isVisible() : Boolean Returns true if this component is visible. Returns true if this component is visible. Parameters: None. Returns: `Boolean` True if this component is visible, false otherwise. | Component
| isXType( `String xtype`, [`Boolean shallow`] ) : Boolean Tests whether or not this Component is of a specific xtype. This can test whether this Component is descended from th... Tests whether or not this Component is of a specific xtype. This can test whether this Component is descended from the xtype (default) or whether it is directly of the xtype specified (shallow = true). If using your own subclasses, be aware that a Component must register its own xtype to participate in determination of inherited xtypes. For a list of all available xtypes, see the Ext.Component header. Example usage:
    var t = new Ext.form.TextField();
    var isText = t.isXType('textfield');        // true
    var isBoxSubclass = t.isXType('box');       // true, descended from BoxComponent
    var isBoxInstance = t.isXType('box', true); // false, not a direct BoxComponent instance
Parameters: `xtype` : String The xtype to check for this Component `shallow` : Boolean (optional) False to check whether this Component is descended from the xtype (this is the default), or true to check whether this Component is directly of the specified xtype. Returns: `Boolean` True if this component descends from the specified xtype, false otherwise. | Component
| on( `String eventName`, `Function handler`, [`Object scope`], [`Object options`] ) : void Appends an event handler to this element (shorthand for addListener) Appends an event handler to this element (shorthand for addListener) Parameters: `eventName` : String The type of event to listen for `handler` : Function The method the event invokes `scope` : Object (optional) The scope in which to execute the handler function. The handler function's "this" context. `options` : Object (optional) Returns: `void` | Observable
| purgeListeners() : void Removes all listeners for this object Removes all listeners for this object Parameters: None. Returns: `void` | Observable
| relayEvents( `Object o`, `Array events` ) : void Relays selected events from the specified Observable as if the events were fired by `this`. Relays selected events from the specified Observable as if the events were fired by `this`. Parameters: `o` : Object The Observable whose events this object is to relay. `events` : Array Array of event names to relay. Returns: `void` | Observable
| removeClass( `string cls` ) : void Removes a CSS class from the component's underlying element. Removes a CSS class from the component's underlying element. Parameters: `cls` : string The CSS class name to remove Returns: `void` | Component
| removeListener( `String eventName`, `Function handler`, [`Object scope`] ) : void Removes a listener Removes a listener Parameters: `eventName` : String The type of event to listen for `handler` : Function The handler to remove `scope` : Object (optional) The scope (this object) for the handler Returns: `void` | Observable
| render( [`Element/HTMLElement/String container`], [`String/Number position`] ) : void Render this Component into the passed HTML element. If you are using a Container object to house this Component, then... Render this Component into the passed HTML element. If you are using a Container object to house this Component, then do not use the render method. A Container's child Components are rendered by that Container's layout manager when the Container is first rendered. Certain layout managers allow dynamic addition of child components. Those that do include Ext.layout.CardLayout, Ext.layout.AnchorLayout, Ext.layout.FormLayout, Ext.layout.TableLayout. If the Container is already rendered when a new child Component is added, you may need to call the Container's doLayout to refresh the view which causes any unrendered child Components to be rendered. This is required so that you can add multiple child components if needed while only refreshing the layout once. When creating complex UIs, it is important to remember that sizing and positioning of child items is the responsibility of the Container's layout manager. If you expect child items to be sized in response to user interactions, you must configure the Container with a layout manager which creates and manages the type of layout you have in mind. Omitting the Container's layout config means that a basic layout manager is used which does nothing but render child components sequentially into the Container. No sizing or positioning will be performed in this situation. Parameters: `container` : Element/HTMLElement/String (optional) The element this Component should be rendered into. If it is being created from existing markup, this should be omitted. `position` : String/Number (optional) The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container) Returns: `void` | Component
| resumeEvents() : void Resume firing events. (see suspendEvents) Resume firing events. (see suspendEvents) Parameters: None. Returns: `void` | Observable
| setArrowHandler( `Function handler`, [`Object scope`] ) : void Sets this button's arrow click handler. Sets this button's arrow click handler. Parameters: `handler` : Function The function to call when the arrow is clicked `scope` : Object (optional) Scope for the function passed above Returns: `void` | SplitButton
| setDisabled( `Boolean disabled` ) : void Convenience function for setting disabled/enabled by boolean. Convenience function for setting disabled/enabled by boolean. Parameters: `disabled` : Boolean Returns: `void` | Component
| setHandler( `Function handler`, [`Object scope`] ) : void Assigns this button's click handler Assigns this button's click handler Parameters: `handler` : Function The function to call when the button is clicked `scope` : Object (optional) Scope for the function passed in Returns: `void` | Button
| setHeight( `Number height` ) : Ext.BoxComponent Sets the height of the component. This method fires the resize event. Sets the height of the component. This method fires the resize event. Parameters: `height` : Number The new height to set. This may be one of: A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. undefined to leave the height unchanged. Returns: `Ext.BoxComponent` this | BoxComponent
| setIconClass( `String cls` ) : void Sets the CSS class that provides a background image to use as the button's icon. This method also changes the value ... Sets the CSS class that provides a background image to use as the button's icon. This method also changes the value of the iconCls config internally. Parameters: `cls` : String The CSS class providing the icon image Returns: `void` | Button
| setPagePosition( `Number x`, `Number y` ) : Ext.BoxComponent Sets the page XY position of the component. To set the left and top instead, use setPosition. This method fires the ... Sets the page XY position of the component. To set the left and top instead, use setPosition. This method fires the move event. Parameters: `x` : Number The new x position `y` : Number The new y position Returns: `Ext.BoxComponent` this | BoxComponent
| setPosition( `Number left`, `Number top` ) : Ext.BoxComponent Sets the left and top of the component. To set the page XY position instead, use setPagePosition. This method fires ... Sets the left and top of the component. To set the page XY position instead, use setPagePosition. This method fires the move event. Parameters: `left` : Number The new left `top` : Number The new top Returns: `Ext.BoxComponent` this | BoxComponent
| setSize( `Mixed width`, `Mixed height` ) : Ext.BoxComponent Sets the width and height of this BoxComponent. This method fires the resize event. This method can accept either wid... Sets the width and height of this BoxComponent. This method fires the resize event. This method can accept either width and height as separate arguments, or you can pass a size object like `{width:10, height:20}`. Parameters: `width` : Mixed The new width to set. This may be one of: A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. A size object in the format `{width: widthValue, height: heightValue}`. `undefined` to leave the width unchanged. `height` : Mixed The new height to set (not required if a size object is passed as the first arg). This may be one of: A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. Animation may not be used. `undefined` to leave the height unchanged. Returns: `Ext.BoxComponent` this | BoxComponent
| setText( `String text` ) : void Sets this button's text Sets this button's text Parameters: `text` : String The button text Returns: `void` | Button
| setVisible( `Boolean visible` ) : Ext.Component Convenience function to hide or show this component by boolean. Convenience function to hide or show this component by boolean. Parameters: `visible` : Boolean True to show, false to hide Returns: `Ext.Component` this | Component
| setWidth( `Number width` ) : Ext.BoxComponent Sets the width of the component. This method fires the resize event. Sets the width of the component. This method fires the resize event. Parameters: `width` : Number The new width to setThis may be one of: A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. Returns: `Ext.BoxComponent` this | BoxComponent
| show() : Ext.Component Show this component. Show this component. Parameters: None. Returns: `Ext.Component` this | Component
| showMenu() : void Show this button's menu (if it has one) Show this button's menu (if it has one) Parameters: None. Returns: `void` | Button
| suspendEvents() : void Suspend the firing of all events. (see resumeEvents) Suspend the firing of all events. (see resumeEvents) Parameters: None. Returns: `void` | Observable
| syncSize() : Ext.BoxComponent Force the component's size to recalculate based on the underlying element's current height and width. Force the component's size to recalculate based on the underlying element's current height and width. Parameters: None. Returns: `Ext.BoxComponent` this | BoxComponent
| toggle( [`Boolean state`], [`Boolean supressEvent`] ) : void If a state it passed, it becomes the pressed state otherwise the current state is toggled. If a state it passed, it becomes the pressed state otherwise the current state is toggled. Parameters: `state` : Boolean (optional) Force a particular state `supressEvent` : Boolean (optional) True to ttop events being fired when calling this method. Returns: `void` | Button
| un( `String eventName`, `Function handler`, [`Object scope`] ) : void Removes a listener (shorthand for removeListener) Removes a listener (shorthand for removeListener) Parameters: `eventName` : String The type of event to listen for `handler` : Function The handler to remove `scope` : Object (optional) The scope (this object) for the handler Returns: `void` | Observable
| updateBox( `Object box` ) : Ext.BoxComponent Sets the current box measurements of the component's underlying element. Sets the current box measurements of the component's underlying element. Parameters: `box` : Object An object in the format {x, y, width, height} Returns: `Ext.BoxComponent` this | BoxComponent

## Public Events

Event | Defined By
--- | ---
| arrowclick : ( `MenuButton this`, `EventObject e` ) Fires when this button's arrow is clicked Fires when this button's arrow is clicked Listeners will be called with the following arguments: `this` : MenuButton `e` : EventObject The click event | SplitButton
| beforedestroy : ( `Ext.Component this` ) Fires before the component is destroyed. Return false to stop the destroy. Fires before the component is destroyed. Return false to stop the destroy. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforehide : ( `Ext.Component this` ) Fires before the component is hidden. Return false to stop the hide. Fires before the component is hidden. Return false to stop the hide. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforerender : ( `Ext.Component this` ) Fires before the component is rendered. Return false to stop the render. Fires before the component is rendered. Return false to stop the render. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforeshow : ( `Ext.Component this` ) Fires before the component is shown. Return false to stop the show. Fires before the component is shown. Return false to stop the show. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforestaterestore : ( `Ext.Component this`, `Object state` ) Fires before the state of the component is restored. Return false to stop the restore. Fires before the state of the component is restored. Return false to stop the restore. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values | Component
| beforestatesave : ( `Ext.Component this`, `Object state` ) Fires before the state of the component is saved to the configured state provider. Return false to stop the save. Fires before the state of the component is saved to the configured state provider. Return false to stop the save. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values | Component
| click : ( `Button this`, `EventObject e` ) Fires when this button is clicked Fires when this button is clicked Listeners will be called with the following arguments: `this` : Button `e` : EventObject The click event | Button
| destroy : ( `Ext.Component this` ) Fires after the component is destroyed. Fires after the component is destroyed. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| disable : ( `Ext.Component this` ) Fires after the component is disabled. Fires after the component is disabled. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| enable : ( `Ext.Component this` ) Fires after the component is enabled. Fires after the component is enabled. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| hide : ( `Ext.Component this` ) Fires after the component is hidden. Fires after the component is hidden. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| menuhide : ( `Button this`, `Menu menu` ) If this button has a menu, this event fires when it is hidden If this button has a menu, this event fires when it is hidden Listeners will be called with the following arguments: `this` : Button `menu` : Menu | Button
| menushow : ( `Button this`, `Menu menu` ) If this button has a menu, this event fires when it is shown If this button has a menu, this event fires when it is shown Listeners will be called with the following arguments: `this` : Button `menu` : Menu | Button
| menutriggerout : ( `Button this`, `Menu menu`, `EventObject e` ) If this button has a menu, this event fires when the mouse leaves the menu triggering element If this button has a menu, this event fires when the mouse leaves the menu triggering element Listeners will be called with the following arguments: `this` : Button `menu` : Menu `e` : EventObject | Button
| menutriggerover : ( `Button this`, `Menu menu`, `EventObject e` ) If this button has a menu, this event fires when the mouse enters the menu triggering element If this button has a menu, this event fires when the mouse enters the menu triggering element Listeners will be called with the following arguments: `this` : Button `menu` : Menu `e` : EventObject | Button
| mouseout : ( `Button this`, `Event e` ) Fires when the mouse exits the button Fires when the mouse exits the button Listeners will be called with the following arguments: `this` : Button `e` : Event The event object | Button
| mouseover : ( `Button this`, `Event e` ) Fires when the mouse hovers over the button Fires when the mouse hovers over the button Listeners will be called with the following arguments: `this` : Button `e` : Event The event object | Button
| move : ( `Ext.Component this`, `Number x`, `Number y` ) Fires after the component is moved. Fires after the component is moved. Listeners will be called with the following arguments: `this` : Ext.Component `x` : Number The new x position `y` : Number The new y position | BoxComponent
| render : ( `Ext.Component this` ) Fires after the component is rendered. Fires after the component is rendered. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| resize : ( `Ext.Component this`, `Number adjWidth`, `Number adjHeight`, `Number rawWidth`, `Number rawHeight` ) Fires after the component is resized. Fires after the component is resized. Listeners will be called with the following arguments: `this` : Ext.Component `adjWidth` : Number The box-adjusted width that was set `adjHeight` : Number The box-adjusted height that was set `rawWidth` : Number The width that was originally specified `rawHeight` : Number The height that was originally specified | BoxComponent
| show : ( `Ext.Component this` ) Fires after the component is shown. Fires after the component is shown. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| staterestore : ( `Ext.Component this`, `Object state` ) Fires after the state of the component is restored. Fires after the state of the component is restored. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values | Component
| statesave : ( `Ext.Component this`, `Object state` ) Fires after the state of the component is saved to the configured state provider. Fires after the state of the component is saved to the configured state provider. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values | Component
| toggle : ( `Button this`, `Boolean pressed` ) Fires when the "pressed" state of this button changes (only if enableToggle = true) Fires when the "pressed" state of this button changes (only if enableToggle = true) Listeners will be called with the following arguments: `this` : Button `pressed` : Boolean | Button