Touch 2.2.0 Sencha Docs

Ext.app.Controller

Hierarchy

Ext.Base
Ext.app.Controller

Mixins

Subclasses

Files

Controllers are responsible for responding to events that occur within your app. If your app contains a Logout button that your user can tap on, a Controller would listen to the Button's tap event and take the appropriate action. It allows the View classes to handle the display of data and the Model classes to handle the loading and saving of data - the Controller is the glue that binds them together.

Relation to Ext.app.Application

Controllers exist within the context of an Application. An Application usually consists of a number of Controllers, each of which handle a specific part of the app. For example, an Application that handles the orders for an online shopping site might have controllers for Orders, Customers and Products.

All of the Controllers that an Application uses are specified in the Application's Ext.app.Application.controllers config. The Application automatically instantiates each Controller and keeps references to each, so it is unusual to need to instantiate Controllers directly. By convention each Controller is named after the thing (usually the Model) that it deals with primarily, usually in the plural - for example if your app is called 'MyApp' and you have a Controller that manages Products, convention is to create a MyApp.controller.Products class in the file app/controller/Products.js.

Refs and Control

The centerpiece of Controllers is the twin configurations refs and control. These are used to easily gain references to Components inside your app and to take action on them based on events that they fire. Let's look at refs first:

Refs

Refs leverage the powerful ComponentQuery syntax to easily locate Components on your page. We can define as many refs as we like for each Controller, for example here we define a ref called 'nav' that finds a Component on the page with the ID 'mainNav'. We then use that ref in the addLogoutButton beneath it:

Ext.define('MyApp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            nav: '#mainNav'
        }
    },

    addLogoutButton: function() {
        this.getNav().add({
            text: 'Logout'
        });
    }
});

Usually, a ref is just a key/value pair - the key ('nav' in this case) is the name of the reference that will be generated, the value ('#mainNav' in this case) is the ComponentQuery selector that will be used to find the Component.

Underneath that, we have created a simple function called addLogoutButton which uses this ref via its generated 'getNav' function. These getter functions are generated based on the refs you define and always follow the same format - 'get' followed by the capitalized ref name. In this case we're treating the nav reference as though it's a Toolbar, and adding a Logout button to it when our function is called. This ref would recognize a Toolbar like this:

Ext.create('Ext.Toolbar', {
    id: 'mainNav',

    items: [
        {
            text: 'Some Button'
        }
    ]
});

Assuming this Toolbar has already been created by the time we run our 'addLogoutButton' function (we'll see how that is invoked later), it will get the second button added to it.

Advanced Refs

Refs can also be passed a couple of additional options, beyond name and selector. These are autoCreate and xtype, which are almost always used together:

Ext.define('MyApp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            nav: '#mainNav',

            infoPanel: {
                selector: 'tabpanel panel[name=fish] infopanel',
                xtype: 'infopanel',
                autoCreate: true
            }
        }
    }
});

We've added a second ref to our Controller. Again the name is the key, 'infoPanel' in this case, but this time we've passed an object as the value instead. This time we've used a slightly more complex selector query - in this example imagine that your app contains a tab panel and that one of the items in the tab panel has been given the name 'fish'. Our selector matches any Component with the xtype 'infopanel' inside that tab panel item.

The difference here is that if that infopanel does not exist already inside the 'fish' panel, it will be automatically created when you call this.getInfoPanel inside your Controller. The Controller is able to do this because we provided the xtype to instantiate with in the event that the selector did not return anything.

Control

The sister config to refs is control. Control is the means by which your listen to events fired by Components and have your Controller react in some way. Control accepts both ComponentQuery selectors and refs as its keys, and listener objects as values - for example:

Ext.define('MyApp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
        control: {
            loginButton: {
                tap: 'doLogin'
            },
            'button[action=logout]': {
                tap: 'doLogout'
            }
        },

        refs: {
            loginButton: 'button[action=login]'
        }
    },

    doLogin: function() {
        //called whenever the Login button is tapped
    },

    doLogout: function() {
        //called whenever any Button with action=logout is tapped
    }
});

Here we have set up two control declarations - one for our loginButton ref and the other for any Button on the page that has been given the action 'logout'. For each declaration we passed in a single event handler - in each case listening for the 'tap' event, specifying the action that should be called when that Button fires the tap event. Note that we specified the 'doLogin' and 'doLogout' methods as strings inside the control block - this is important.

You can listen to as many events as you like in each control declaration, and mix and match ComponentQuery selectors and refs as the keys.

Routes

As of Sencha Touch 2, Controllers can now directly specify which routes they are interested in. This enables us to provide history support within our app, as well as the ability to deeply link to any part of the application that we provide a route for.

For example, let's say we have a Controller responsible for logging in and viewing user profiles, and want to make those screens accessible via urls. We could achieve that like this:

Ext.define('MyApp.controller.Users', {
    extend: 'Ext.app.Controller',

    config: {
        routes: {
            'login': 'showLogin',
            'user/:id': 'showUserById'
        },

        refs: {
            main: '#mainTabPanel'
        }
    },

    //uses our 'main' ref above to add a loginpanel to our main TabPanel (note that
    //'loginpanel' is a custom xtype created for this application)
    showLogin: function() {
        this.getMain().add({
            xtype: 'loginpanel'
        });
    },

    //Loads the User then adds a 'userprofile' view to the main TabPanel
    showUserById: function(id) {
        MyApp.model.User.load(id, {
            scope: this,
            success: function(user) {
                this.getMain().add({
                    xtype: 'userprofile',
                    user: user
                });
            }
        });
    }
});

The routes we specified above simply map the contents of the browser address bar to a Controller function to call when that route is matched. The routes can be simple text like the login route, which matches against http://myapp.com/#login, or contain wildcards like the 'user/:id' route, which matches urls like http://myapp.com/#user/123. Whenever the address changes the Controller automatically calls the function specified.

Note that in the showUserById function we had to first load the User instance. Whenever you use a route, the function that is called by that route is completely responsible for loading its data and restoring state. This is because your user could either send that url to another person or simply refresh the page, which we wipe clear any cached data you had already loaded. There is a more thorough discussion of restoring state with routes in the application architecture guides.

Advanced Usage

See the Controllers guide for advanced Controller usage including before filters and customizing for different devices.

Available since: 2.0.0

Defined By

Config options

The Application instance this Controller is attached to. ...

The Application instance this Controller is attached to. This is automatically provided when using the MVC architecture so should rarely need to be set directly.

Defaults to: {}

Available since: 2.0.0

Ext.app.Controller
view source
: Object
Provides a mapping of Controller functions to filter functions that are run before them when dispatched to from a route. ...

Provides a mapping of Controller functions to filter functions that are run before them when dispatched to from a route. These are usually used to run pre-processing functions like authentication before a certain function is executed. They are only called when dispatching from a route. Example usage:

Ext.define('MyApp.controller.Products', {
    config: {
        before: {
            editProduct: 'authenticate'
        },

        routes: {
            'product/edit/:id': 'editProduct'
        }
    },

    //this is not directly because our before filter is called first
    editProduct: function() {
        //... performs the product editing logic
    },

    //this is run before editProduct
    authenticate: function(action) {
        MyApp.authenticate({
            success: function() {
                action.resume();
            },
            failure: function() {
                Ext.Msg.alert('Not Logged In', "You can't do that, you're not logged in");
            }
        });
    }
});

Defaults to: {}

Available since: 2.0.0

The event name to bubble, or an Array of event names.

The event name to bubble, or an Array of event names.

Available since: 2.0.0

Ext.app.Controller
view source
: Object
Provides a mapping of Controller functions that should be called whenever certain Component events are fired. ...

Provides a mapping of Controller functions that should be called whenever certain Component events are fired. The Components can be specified using ComponentQuery selectors or refs. Example usage:

control: {
    'button[action=logout]': {
        tap: 'doLogout'
    },
    main: {
        activeitemchange: 'doUpdate'
    }
}

The first item uses a ComponentQuery selector to run the Controller's doLogout function whenever any Button with action=logout is tapped on. The second calls the Controller's doUpdate function whenever the activeitemchange event is fired by the Component referenced by our 'main' ref. In this case main is a tab panel (see refs for how to set that reference up).

Defaults to: {}

Available since: 2.0.0

Ext.app.Controller
view source
: Function
Called by the Controller's application to initialize the Controller. ...

Called by the Controller's application to initialize the Controller. This is always called before the Application launches, giving the Controller a chance to run any pre-launch logic. See also launch, which is called after the Application's launch function

Available since: 2.0.0

Ext.app.Controller
view source
: Function
Called by the Controller's application immediately after the Application's own launch function has been called. ...

Called by the Controller's application immediately after the Application's own launch function has been called. This is usually a good place to run any logic that has to run after the app UI is initialized. See also init, which is called before the Application's launch function.

Available since: 2.0.0

A config object containing one or more event handlers to be added to this object during initialization. ...

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.

See the Event guide for more

Note: It is bad practice to specify a listener's config when you are defining a class using Ext.define(). Instead, only specify listeners when you are instantiating your class with Ext.create().

Available since: 1.1.0

Ext.app.Controller
view source
: String[]
The set of models to load for this Application. ...

The set of models to load for this Application. Each model is expected to exist inside the app/model directory and define a class following the convention AppName.model.ModelName. For example, in the code below, the classes AppName.model.User, AppName.model.Group and AppName.model.Product will be loaded. Note that we are able to specify either the full class name (as with AppName.model.Product) or just the final part of the class name and leave Application to automatically prepend AppName.model. to each:

models: [
    'User',
    'Group',
    'AppName.model.Product',
    'SomeCustomNamespace.model.Order'
]

Defaults to: []

Available since: 2.0.0

Ext.app.Controller
view source
: Object
A collection of named ComponentQuery selectors that makes it easy to get references to key Components on your page. ...

A collection of named ComponentQuery selectors that makes it easy to get references to key Components on your page. Example usage:

refs: {
    main: '#mainTabPanel',
    loginButton: '#loginWindow button[action=login]',

    infoPanel: {
        selector: 'infopanel',
        xtype: 'infopanel',
        autoCreate: true
    }
}

The first two are simple ComponentQuery selectors, the third (infoPanel) also passes in the autoCreate and xtype options, which will first run the ComponentQuery to see if a Component matching that selector exists on the page. If not, it will automatically create one using the xtype provided:

someControllerFunction: function() {
    //if the info panel didn't exist before, calling its getter will instantiate
    //it automatically and return the new instance
    this.getInfoPanel().show();
}

Defaults to: {}

Available since: 2.0.0

Ext.app.Controller
view source
: Object
Provides a mapping of urls to Controller actions. ...

Provides a mapping of urls to Controller actions. Whenever the specified url is matched in the address bar, the specified Controller action is called. Example usage:

routes: {
    'login': 'showLogin',
    'users/:id': 'showUserById'
}

The first route will match against http://myapp.com/#login and call the Controller's showLogin function. The second route contains a wildcard (':id') and will match all urls like http://myapp.com/#users/123, calling the showUserById function with the matched ID as the first argument.

Defaults to: {}

Available since: 2.0.0

Ext.app.Controller
view source
: String[]
The set of stores to load for this Application. ...

The set of stores to load for this Application. Each store is expected to exist inside the app/store directory and define a class following the convention AppName.store.StoreName. For example, in the code below, the AppName.store.Users class will be loaded. Note that we are able to specify either the full class name (as with AppName.store.Groups) or just the final part of the class name and leave Application to automatically prepend AppName.store.' to each:

stores: [
    'Users',
    'AppName.store.Groups',
    'SomeCustomNamespace.store.Orders'
]

Defaults to: []

Available since: 2.0.0

Ext.app.Controller
view source
: Array
The set of views to load for this Application. ...

The set of views to load for this Application. Each view is expected to exist inside the app/view directory and define a class following the convention AppName.view.ViewName. For example, in the code below, the classes AppName.view.Users, AppName.view.Groups and AppName.view.Products will be loaded. Note that we are able to specify either the full class name (as with AppName.view.Products) or just the final part of the class name and leave Application to automatically prepend AppName.view. to each:

views: [
    'Users',
    'Groups',
    'AppName.view.Products',
    'SomeCustomNamespace.view.Orders'
]

Defaults to: []

Available since: 2.0.0

Properties

Defined By

Instance properties

...

Defaults to: 'ext-'

Available since: 2.0.0

...

Defaults to: '-'

Available since: 2.0.0

...

Defaults to: false

Available since: Touch 2.2.0

...

Defaults to: /\.|[^\w\-]/g

Available since: 2.0.0

...

Defaults to: true

Available since: 2.0.0

...

Defaults to: true

Available since: 1.1.0

...

Defaults to: /^(?:delegate|single|delay|buffer|args|prepend)$/

Available since: 2.0.0

...

Defaults to: {id: 'observable', hooks: {destroy: 'destroy'}}

Available since: 2.0.0

...

Defaults to: 'identifiable'

Available since: 2.0.0

...

Defaults to: '#'

Available since: 2.0.0

...

Defaults to: 'observable'

Available since: 2.0.0

Get the reference to the current class from which this object was instantiated. ...

Get the reference to the current class from which this object was instantiated. Unlike statics, this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics for a detailed comparison

Ext.define('My.Cat', {
    statics: {
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        alert(this.self.speciesName); // dependent on 'this'
    },

    clone: function() {
        return new this.self();
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',
    statics: {
        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'
    }
});

var cat = new My.Cat();                     // alerts 'Cat'
var snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard'

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'

Available since: 2.0.0

...

Defaults to: /^([\w\-]+)$/

Available since: 2.0.0

Defined By

Static properties

...

Defaults to: []

Available since: 2.0.0

Methods

Defined By

Instance methods

Ext.app.Controller
view source
new( config ) : Ext.app.Controller
Constructs a new Controller instance ...

Constructs a new Controller instance

Available since: 2.0.0

Parameters

Returns

Fires

    Overrides: Ext.mixin.Observable.constructor

    ( eventName, fn, [scope], [options] )
    Appends an after-event handler. ...

    Appends an after-event handler.

    Same as addListener with order set to 'after'.

    Available since: 2.0.0

    Parameters

    • eventName : String/String[]/Object

      The name of the event to listen for.

    • fn : Function/String

      The method the event invokes.

    • scope : Object (optional)

      The scope for fn.

    • options : Object (optional)

      An object containing handler configuration.

    Fires

      ( eventName, fn, [scope], [options] )
      Appends a before-event handler. ...

      Appends a before-event handler. Returning false from the handler will stop the event.

      Same as addListener with order set to 'before'.

      Available since: 2.0.0

      Parameters

      • eventName : String/String[]/Object

        The name of the event to listen for.

      • fn : Function/String

        The method the event invokes.

      • scope : Object (optional)

        The scope for fn.

      • options : Object (optional)

        An object containing handler configuration.

      Fires

        ( selector, name, fn, scope, options, order )private
        ...

        Available since: 2.0.0

        Parameters

        Fires

          Adds the specified events to the list of events which this Observable may fire. ...

          Adds the specified events to the list of events which this Observable may fire.

          Available since: 1.1.0

          This method has been deprecated since 2.0

          It's no longer needed to add events before firing.

          Parameters

          • eventNames : Object/String...

            Either an object with event names as properties with a value of true or the first event name string if multiple event names are being passed as separate parameters.

          ( eventName, fn, [scope], [options], [order] )
          Appends an event handler to this object. ...

          Appends an event handler to this object. You can review the available handlers by looking at the 'events' section of the documentation for the component you are working with.

          Combining Options

          Using the options argument, it is possible to combine different types of listeners:

          A delayed, one-time listener:

          container.on('tap', this.handleTap, 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 events. For example:

          container.on({
              tap  : this.onTap,
              swipe: this.onSwipe,
          
              scope: this // Important. Ensure "this" is correct during handler execution
          });
          

          One can also specify options for each event handler separately:

          container.on({
              tap  : { fn: this.onTap, scope: this, single: true },
              swipe: { fn: button.onSwipe, scope: button }
          });
          

          See the Events Guide for more.

          Available since: 1.1.0

          Parameters

          • eventName : String/String[]/Object

            The name of the event to listen for. May also be an object who's property names are event names.

          • fn : Function/String

            The method the event invokes. Will be called with arguments given to fireEvent plus the options parameter described below.

          • 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.

            This object may contain any of the following properties:

            • scope : Object (optional)

              The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event.

            • delay : Number (optional)

              The number of milliseconds to delay the invocation of the handler after the event fires.

            • single : Boolean (optional)

              true to add a handler to handle just the next firing of the event, and then remove itself.

            • order : String (optional)

              The order of when the listener should be added into the listener queue.

              If you set an order of before and the event you are listening to is preventable, you can return false and it will stop the event.

              Available options are before, current and after.

              Defaults to: current

            • buffer : Number (optional)

              Causes the handler to be 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.

            • element : String (optional)

              Allows you to add a listener onto a element of this component using the elements reference.

              Ext.create('Ext.Component', {
                  listeners: {
                      element: 'element',
                      tap: function() {
                          alert('element tap!');
                      }
                  }
              });
              

              All components have the element reference, which is the outer most element of the component. Ext.Container also has the innerElement element which contains all children. In most cases element is adequate.

            • delegate : String (optional)

              Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.

              // Create a container with a two children; a button and a toolbar
              var container = Ext.create('Ext.Container', {
                  items: [
                      {
                          xtype: 'toolbar',
                          docked: 'top',
                          title: 'My Toolbar'
                      },
                      {
                         xtype: 'button',
                         text: 'My Button'
                      }
                  ]
              });
              
              container.on({
                  // Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
                  delegate: 'button',
              
                  tap: function() {
                      alert('Button tapped!');
                  }
              });
              
          • order : String (optional)

            The order of when the listener should be added into the listener queue. Possible values are before, current and after.

            Defaults to: 'current'

          Fires

            ( object, eventName, [fn], [scope], [options] )deprecated
            Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed. ...

            Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.

            Available since: 1.1.0

            This method has been deprecated since 2.0

            All listeners are now automatically managed where necessary. Simply use addListener.

            Parameters

            • object : Ext.mixin.Observable/HTMLElement

              The item to which to add a listener/listeners.

            • eventName : Object/String

              The event name, or an object containing event name properties.

            • fn : Function (optional)

              If the eventName parameter was an event name, this is the handler function.

            • scope : Object (optional)

              If the eventName parameter was an event name, this is the scope in which the handler function is executed.

            • options : Object (optional)

              If the eventName parameter was an event name, this is the addListener options.

            Ext.app.Controller
            view source
            ( before )private
            Massages the before filters into an array of function references for each controller action ...

            Massages the before filters into an array of function references for each controller action

            Available since: 2.0.0

            Parameters

            ...

            Available since: 2.0.0

            Parameters

            Fires

              Ext.app.Controller
              view source
              ( config )private
              ...

              Available since: 2.0.0

              Parameters

              Fires

                ...

                Available since: 2.0.0

                Parameters

                Fires

                  Ext.app.Controller
                  view source
                  ( models )private
                  As a convenience developers can locally qualify model names (e.g. ...

                  As a convenience developers can locally qualify model names (e.g. 'MyModel' vs 'MyApp.model.MyModel'). This just makes sure everything ends up fully qualified

                  Available since: 2.0.0

                  Parameters

                  Fires

                    Ext.app.Controller
                    view source
                    ( refs )private
                    ...

                    Available since: 2.0.0

                    Parameters

                    Fires

                      Ext.app.Controller
                      view source
                      ( routes )private
                      Adds any routes specified in this Controller to the global Application router ...

                      Adds any routes specified in this Controller to the global Application router

                      Available since: 2.0.0

                      Parameters

                      Fires

                        Ext.app.Controller
                        view source
                        ( stores )private
                        As a convenience developers can locally qualify store names (e.g. ...

                        As a convenience developers can locally qualify store names (e.g. 'MyStore' vs 'MyApp.store.MyStore'). This just makes sure everything ends up fully qualified

                        Available since: 2.0.0

                        Parameters

                        Fires

                          Ext.app.Controller
                          view source
                          ( views )private
                          As a convenience developers can locally qualify view names (e.g. ...

                          As a convenience developers can locally qualify view names (e.g. 'MyView' vs 'MyApp.view.MyView'). This just makes sure everything ends up fully qualified

                          Available since: 2.0.0

                          Parameters

                          Fires

                            ( args ) : Objectdeprecatedprotected
                            Call the original method that was previously overridden with override, This method is deprecated as callParent does ...

                            Call the original method that was previously overridden with override,

                            This method is deprecated as callParent does the same thing.

                            Ext.define('My.Cat', {
                                constructor: function() {
                                    alert("I'm a cat!");
                                }
                            });
                            
                            My.Cat.override({
                                constructor: function() {
                                    alert("I'm going to be a cat!");
                            
                                    var instance = this.callOverridden();
                            
                                    alert("Meeeeoooowwww");
                            
                                    return instance;
                                }
                            });
                            
                            var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                                                      // alerts "I'm a cat!"
                                                      // alerts "Meeeeoooowwww"
                            

                            Available since: 2.0.0

                            This method has been deprecated

                            Use callParent instead

                            Parameters

                            • args : Array/Arguments

                              The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments)

                            Returns

                            • Object

                              Returns the result of calling the overridden method

                            Call the "parent" method of the current method. ...

                            Call the "parent" method of the current method. That is the method previously overridden by derivation or by an override (see Ext.define).

                             Ext.define('My.Base', {
                                 constructor: function (x) {
                                     this.x = x;
                                 },
                            
                                 statics: {
                                     method: function (x) {
                                         return x;
                                     }
                                 }
                             });
                            
                             Ext.define('My.Derived', {
                                 extend: 'My.Base',
                            
                                 constructor: function () {
                                     this.callParent([21]);
                                 }
                             });
                            
                             var obj = new My.Derived();
                            
                             alert(obj.x);  // alerts 21
                            

                            This can be used with an override as follows:

                             Ext.define('My.DerivedOverride', {
                                 override: 'My.Derived',
                            
                                 constructor: function (x) {
                                     this.callParent([x*2]); // calls original My.Derived constructor
                                 }
                             });
                            
                             var obj = new My.Derived();
                            
                             alert(obj.x);  // now alerts 42
                            

                            This also works with static methods.

                             Ext.define('My.Derived2', {
                                 extend: 'My.Base',
                            
                                 statics: {
                                     method: function (x) {
                                         return this.callParent([x*2]); // calls My.Base.method
                                     }
                                 }
                             });
                            
                             alert(My.Base.method(10));     // alerts 10
                             alert(My.Derived2.method(10)); // alerts 20
                            

                            Lastly, it also works with overridden static methods.

                             Ext.define('My.Derived2Override', {
                                 override: 'My.Derived2',
                            
                                 statics: {
                                     method: function (x) {
                                         return this.callParent([x*2]); // calls My.Derived2.method
                                     }
                                 }
                             });
                            
                             alert(My.Derived2.method(10)); // now alerts 40
                            

                            To override a method and replace it and also call the superclass method, use callSuper. This is often done to patch a method to fix a bug.

                            Available since: 2.0.0

                            Parameters

                            • args : Array/Arguments

                              The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments)

                            Returns

                            • Object

                              Returns the result of calling the parent method

                            This method is used by an override to call the superclass method but bypass any overridden method. ...

                            This method is used by an override to call the superclass method but bypass any overridden method. This is often done to "patch" a method that contains a bug but for whatever reason cannot be fixed directly.

                            Consider:

                             Ext.define('Ext.some.Class', {
                                 method: function () {
                                     console.log('Good');
                                 }
                             });
                            
                             Ext.define('Ext.some.DerivedClass', {
                                 method: function () {
                                     console.log('Bad');
                            
                                     // ... logic but with a bug ...
                            
                                     this.callParent();
                                 }
                             });
                            

                            To patch the bug in DerivedClass.method, the typical solution is to create an override:

                             Ext.define('App.paches.DerivedClass', {
                                 override: 'Ext.some.DerivedClass',
                            
                                 method: function () {
                                     console.log('Fixed');
                            
                                     // ... logic but with bug fixed ...
                            
                                     this.callSuper();
                                 }
                             });
                            

                            The patch method cannot use callParent to call the superclass method since that would call the overridden method containing the bug. In other words, the above patch would only produce "Fixed" then "Good" in the console log, whereas, using callParent would produce "Fixed" then "Bad" then "Good".

                            Available since: 2.1.0

                            Parameters

                            • args : Array/Arguments

                              The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments)

                            Returns

                            • Object

                              Returns the result of calling the superclass method

                            ( actionFn, eventName, fn, scope, options, order ) : Ext.mixin.Observablechainableprivate
                            ...

                            Available since: 2.0.0

                            Parameters

                            Returns

                            Removes all listeners for this object. ...

                            Removes all listeners for this object.

                            Available since: 1.1.0

                            Fires

                              ...

                              Available since: 1.1.0

                              Parameters

                              Fires

                                Ext.app.Controller
                                view source
                                ( selectors )private
                                ...

                                Available since: 2.0.0

                                Parameters

                                Fires

                                  ...

                                  Available since: 2.0.0

                                  Parameters

                                  Fires

                                    Creates an event handling function which re-fires the event from this object as the passed event name. ...

                                    Creates an event handling function which re-fires the event from this object as the passed event name.

                                    Available since: 2.0.0

                                    Parameters

                                    Returns

                                    Fires

                                      ...

                                      Available since: 2.0.0

                                      Fires

                                      • destroy

                                      Overrides: Ext.Base.destroy, Ext.mixin.Observable.destroy

                                      ( name, fn, scope, options, order ) : Booleanprivate
                                      ...

                                      Available since: 2.0.0

                                      Parameters

                                      Returns

                                      Fires

                                        ( eventName, args, action, connectedController )private
                                        ...

                                        Available since: 2.0.0

                                        Parameters

                                        Fires

                                          ( name, fn, scope, options, order )private
                                          ...

                                          Available since: 2.0.0

                                          Parameters

                                          Fires

                                            Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if present. ...

                                            Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if present. There is no implementation in the Observable base class.

                                            Available since: 1.1.0

                                            Parameters

                                            • events : String/String[]

                                              The event name to bubble, or an Array of event names.

                                            Fires

                                              Ext.app.Controller
                                              view source
                                              ( action, skipFilters )private
                                              Executes an Ext.app.Action by giving it the correct before filters and kicking off execution ...

                                              Executes an Ext.app.Action by giving it the correct before filters and kicking off execution

                                              Available since: 2.0.0

                                              Parameters

                                              Fires

                                                ( eventName, args, fn, scope ) : Object
                                                Fires the specified event with the passed parameters and execute a function (action) at the end if there are no liste...

                                                Fires the specified event with the passed parameters and execute a function (action) at the end if there are no listeners that return false.

                                                Available since: 2.0.0

                                                Parameters

                                                • eventName : String

                                                  The name of the event to fire.

                                                • args : Array

                                                  Arguments to pass to handers.

                                                • fn : Function

                                                  Action.

                                                • scope : Object

                                                  Scope of fn.

                                                Returns

                                                Fires

                                                  Fires the specified event with the passed parameters (minus the event name, plus the options object passed to addList...

                                                  Fires the specified event with the passed parameters (minus the event name, plus the options object passed to addListener).

                                                  The first argument is the name of the event. Every other argument passed will be available when you listen for the event.

                                                  Example

                                                  Firstly, we set up a listener for our new event.

                                                  this.on('myevent', function(arg1, arg2, arg3, arg4, options, e) {
                                                      console.log(arg1); // true
                                                      console.log(arg2); // 2
                                                      console.log(arg3); // { test: 'foo' }
                                                      console.log(arg4); // 14
                                                      console.log(options); // the options added when adding the listener
                                                      console.log(e); // the event object with information about the event
                                                  });
                                                  

                                                  And then we can fire off the event.

                                                  this.fireEvent('myevent', true, 2, { test: 'foo' }, 14);
                                                  

                                                  An event may be set to bubble up an Observable parent hierarchy by calling enableBubble.

                                                  Available since: 1.1.0

                                                  Parameters

                                                  • eventName : String

                                                    The name of the event to fire.

                                                  • args : Object...

                                                    Variable number of parameters are passed to handlers.

                                                  Returns

                                                  • Boolean

                                                    Returns false if any of the handlers return false.

                                                  Fires

                                                    Returns the value of application. ...

                                                    Returns the value of application.

                                                    Available since: 2.0.0

                                                    Returns

                                                    Ext.app.Controller
                                                    view source
                                                    ( ) : Object
                                                    Returns the value of before. ...

                                                    Returns the value of before.

                                                    Available since: 2.0.0

                                                    Returns

                                                    Returns the value of bubbleEvents. ...

                                                    Returns the value of bubbleEvents.

                                                    Available since: 2.0.0

                                                    Returns

                                                    ...

                                                    Available since: 2.0.0

                                                    ...

                                                    Available since: 2.0.0

                                                    Parameters

                                                    Ext.app.Controller
                                                    view source
                                                    ( ) : Object
                                                    Returns the value of control. ...

                                                    Returns the value of control.

                                                    Available since: 2.0.0

                                                    Returns

                                                    Ext.app.Controller
                                                    view source
                                                    ( controllerName, profile ) : Objectdeprecated
                                                    Returns a reference to another Controller. ...

                                                    Returns a reference to another Controller.

                                                    Available since: 2.0.0

                                                    This method has been deprecated since 2.0.0

                                                    Considered bad practice - if you need to do this please use this.getApplication().getController() instead

                                                    Parameters

                                                    Returns

                                                    Fires

                                                      ...

                                                      Available since: 2.0.0

                                                      ...

                                                      Available since: 2.0.0

                                                      Fires

                                                        Ext.app.Controller
                                                        view source
                                                        ( items, namespace ) : Stringprivate
                                                        Returns the fully qualified name for any class name variant. ...

                                                        Returns the fully qualified name for any class name variant. This is used to find the FQ name for the model, view, controller, store and profiles listed in a Controller or Application.

                                                        Available since: 2.0.0

                                                        Parameters

                                                        • items : String[]

                                                          The array of strings to get the FQ name for

                                                        • namespace : String

                                                          If the name happens to be an application class, add it to this namespace

                                                        Returns

                                                        • String

                                                          The fully-qualified name of the class

                                                        Fires

                                                          Retrieves the id of this component. ...

                                                          Retrieves the id of this component. Will autogenerate an id if one has not already been set.

                                                          Available since: 2.0.0

                                                          Returns

                                                          Fires

                                                            Returns the initial configuration passed to constructor. ...

                                                            Returns the initial configuration passed to constructor.

                                                            Available since: 2.0.0

                                                            Parameters

                                                            • name : String (optional)

                                                              When supplied, value for particular configuration option is returned, otherwise the full config object is returned.

                                                            Returns

                                                            Returns the value of listeners. ...

                                                            Returns the value of listeners.

                                                            Available since: 2.0.0

                                                            Returns

                                                            ...

                                                            Available since: 2.0.0

                                                            Parameters

                                                            Ext.app.Controller
                                                            view source
                                                            ( modelName ) : Objectdeprecated
                                                            Returns a reference to a Model. ...

                                                            Returns a reference to a Model.

                                                            Available since: 2.0.0

                                                            This method has been deprecated since 2.0.0

                                                            Considered bad practice - please just use the Model name instead (e.g. MyApp.model.User vs this.getModel('User')).

                                                            Parameters

                                                            Returns

                                                            Fires

                                                              Ext.app.Controller
                                                              view source
                                                              ( ) : String[]
                                                              Returns the value of models. ...

                                                              Returns the value of models.

                                                              Available since: 2.0.0

                                                              Returns

                                                              ...

                                                              Available since: 2.0.0

                                                              Fires

                                                                ...

                                                                Available since: 2.0.0

                                                                ...

                                                                Available since: 2.0.0

                                                                Ext.app.Controller
                                                                view source
                                                                ( ref, info, config )private
                                                                ...

                                                                Available since: 2.0.0

                                                                Parameters

                                                                Ext.app.Controller
                                                                view source
                                                                ( ) : Object
                                                                Returns the value of refs. ...

                                                                Returns the value of refs.

                                                                Available since: 2.0.0

                                                                Returns

                                                                Ext.app.Controller
                                                                view source
                                                                ( ) : Object
                                                                Returns the value of routes. ...

                                                                Returns the value of routes.

                                                                Available since: 2.0.0

                                                                Returns

                                                                Ext.app.Controller
                                                                view source
                                                                ( ) : String[]
                                                                Returns the value of stores. ...

                                                                Returns the value of stores.

                                                                Available since: 2.0.0

                                                                Returns

                                                                ...

                                                                Available since: 2.0.0

                                                                ...

                                                                Available since: 2.0.0

                                                                Ext.app.Controller
                                                                view source
                                                                ( ) : Array
                                                                Returns the value of views. ...

                                                                Returns the value of views.

                                                                Available since: 2.0.0

                                                                Returns

                                                                ...

                                                                Available since: 2.0.0

                                                                Parameters

                                                                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

                                                                Available since: 1.1.0

                                                                Parameters

                                                                • eventName : String

                                                                  The name of the event to check for

                                                                Returns

                                                                • Boolean

                                                                  True if the event is being listened for, else false

                                                                Fires

                                                                  Ext.app.Controller
                                                                  view source
                                                                  ( ref )private
                                                                  ...

                                                                  Available since: 2.0.0

                                                                  Parameters

                                                                  ( instanceConfig ) : Objectchainableprotected
                                                                  Initialize configuration for this class. ...

                                                                  Initialize configuration for this class. a typical example:

                                                                  Ext.define('My.awesome.Class', {
                                                                      // The default config
                                                                      config: {
                                                                          name: 'Awesome',
                                                                          isAwesome: true
                                                                      },
                                                                  
                                                                      constructor: function(config) {
                                                                          this.initConfig(config);
                                                                      }
                                                                  });
                                                                  
                                                                  var awesome = new My.awesome.Class({
                                                                      name: 'Super Awesome'
                                                                  });
                                                                  
                                                                  alert(awesome.getName()); // 'Super Awesome'
                                                                  

                                                                  Available since: 2.0.0

                                                                  Parameters

                                                                  Returns

                                                                  • Object

                                                                    mixins The mixin prototypes as key - value pairs

                                                                  Fires

                                                                    ( object, eventName, [fn], [scope], [options] )deprecated
                                                                    Alias for addManagedListener. ...

                                                                    Alias for addManagedListener.

                                                                    Available since: 2.0.0

                                                                    This method has been deprecated since 2.0.0

                                                                    This is now done automatically

                                                                    Parameters

                                                                    • object : Ext.mixin.Observable/HTMLElement

                                                                      The item to which to add a listener/listeners.

                                                                    • eventName : Object/String

                                                                      The event name, or an object containing event name properties.

                                                                    • fn : Function (optional)

                                                                      If the eventName parameter was an event name, this is the handler function.

                                                                    • scope : Object (optional)

                                                                      If the eventName parameter was an event name, this is the scope in which the handler function is executed.

                                                                    • options : Object (optional)

                                                                      If the eventName parameter was an event name, this is the addListener options.

                                                                    ( object, eventName, [fn], [scope] )deprecated
                                                                    Alias for removeManagedListener. ...

                                                                    Alias for removeManagedListener.

                                                                    Available since: 2.0.0

                                                                    This method has been deprecated since 2.0.0

                                                                    This is now done automatically

                                                                    Parameters

                                                                    • object : Ext.mixin.Observable/HTMLElement

                                                                      The item to which to add a listener/listeners.

                                                                    • eventName : Object/String

                                                                      The event name, or an object containing event name properties.

                                                                    • fn : Function (optional)

                                                                      If the eventName parameter was an event name, this is the handler function.

                                                                    • scope : Object (optional)

                                                                      If the eventName parameter was an event name, this is the scope in which the handler function is executed.

                                                                    ( eventName, fn, [scope], [options], [order] )
                                                                    Alias for addListener. ...

                                                                    Alias for addListener.

                                                                    Available since: 1.1.0

                                                                    Parameters

                                                                    • eventName : String/String[]/Object

                                                                      The name of the event to listen for. May also be an object who's property names are event names.

                                                                    • fn : Function/String

                                                                      The method the event invokes. Will be called with arguments given to fireEvent plus the options parameter described below.

                                                                    • 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.

                                                                      This object may contain any of the following properties:

                                                                      • scope : Object (optional)

                                                                        The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event.

                                                                      • delay : Number (optional)

                                                                        The number of milliseconds to delay the invocation of the handler after the event fires.

                                                                      • single : Boolean (optional)

                                                                        true to add a handler to handle just the next firing of the event, and then remove itself.

                                                                      • order : String (optional)

                                                                        The order of when the listener should be added into the listener queue.

                                                                        If you set an order of before and the event you are listening to is preventable, you can return false and it will stop the event.

                                                                        Available options are before, current and after.

                                                                        Defaults to: current

                                                                      • buffer : Number (optional)

                                                                        Causes the handler to be 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.

                                                                      • element : String (optional)

                                                                        Allows you to add a listener onto a element of this component using the elements reference.

                                                                        Ext.create('Ext.Component', {
                                                                            listeners: {
                                                                                element: 'element',
                                                                                tap: function() {
                                                                                    alert('element tap!');
                                                                                }
                                                                            }
                                                                        });
                                                                        

                                                                        All components have the element reference, which is the outer most element of the component. Ext.Container also has the innerElement element which contains all children. In most cases element is adequate.

                                                                      • delegate : String (optional)

                                                                        Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.

                                                                        // Create a container with a two children; a button and a toolbar
                                                                        var container = Ext.create('Ext.Container', {
                                                                            items: [
                                                                                {
                                                                                    xtype: 'toolbar',
                                                                                    docked: 'top',
                                                                                    title: 'My Toolbar'
                                                                                },
                                                                                {
                                                                                   xtype: 'button',
                                                                                   text: 'My Button'
                                                                                }
                                                                            ]
                                                                        });
                                                                        
                                                                        container.on({
                                                                            // Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
                                                                            delegate: 'button',
                                                                        
                                                                            tap: function() {
                                                                                alert('Button tapped!');
                                                                            }
                                                                        });
                                                                        
                                                                    • order : String (optional)

                                                                      The order of when the listener should be added into the listener queue. Possible values are before, current and after.

                                                                      Defaults to: 'current'

                                                                    ( eventName, fn, [scope], [options] )
                                                                    Alias for addAfterListener. ...

                                                                    Alias for addAfterListener.

                                                                    Available since: 2.0.0

                                                                    Parameters

                                                                    • eventName : String/String[]/Object

                                                                      The name of the event to listen for.

                                                                    • fn : Function/String

                                                                      The method the event invokes.

                                                                    • scope : Object (optional)

                                                                      The scope for fn.

                                                                    • options : Object (optional)

                                                                      An object containing handler configuration.

                                                                    ( eventName, fn, [scope], [options] )
                                                                    Alias for addBeforeListener. ...

                                                                    Alias for addBeforeListener.

                                                                    Available since: 2.0.0

                                                                    Parameters

                                                                    • eventName : String/String[]/Object

                                                                      The name of the event to listen for.

                                                                    • fn : Function/String

                                                                      The method the event invokes.

                                                                    • scope : Object (optional)

                                                                      The scope for fn.

                                                                    • options : Object (optional)

                                                                      An object containing handler configuration.

                                                                    Ext.app.Controller
                                                                    view source
                                                                    ( cls, members )private
                                                                    ...

                                                                    Available since: 2.0.0

                                                                    Parameters

                                                                    Fires

                                                                      Overrides: Ext.mixin.Mixin.onClassExtended

                                                                      ( names, callback, scope )private
                                                                      ...

                                                                      Available since: 2.0.0

                                                                      Parameters

                                                                      Ext.app.Controller
                                                                      view source
                                                                      ( place ) : Object
                                                                      Convenient way to redirect to a new url. ...

                                                                      Convenient way to redirect to a new url. See Ext.app.Application.redirectTo for full usage information.

                                                                      Available since: 2.0.0

                                                                      Parameters

                                                                      Returns

                                                                      Fires

                                                                        Ext.app.Controller
                                                                        view source
                                                                        ( refs )private
                                                                        1.x-inspired ref implementation ...

                                                                        1.x-inspired ref implementation

                                                                        Available since: 2.0.0

                                                                        Parameters

                                                                        ( args, fn, scope, options, order )private
                                                                        ...

                                                                        Available since: 2.0.0

                                                                        Parameters

                                                                        Fires

                                                                          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.

                                                                          Available since: 1.1.0

                                                                          Parameters

                                                                          • object : Object

                                                                            The Observable whose events this object is to relay.

                                                                          • events : String/Array/Object

                                                                            Array of event names to relay.

                                                                          Returns

                                                                          Fires

                                                                            ( eventName, fn, [scope], [options] )
                                                                            Removes a before-event handler. ...

                                                                            Removes a before-event handler.

                                                                            Same as removeListener with order set to 'after'.

                                                                            Available since: 2.0.0

                                                                            Parameters

                                                                            • eventName : String/String[]/Object

                                                                              The name of the event the handler was associated with.

                                                                            • fn : Function/String

                                                                              The handler to remove.

                                                                            • scope : Object (optional)

                                                                              The scope originally specified for fn.

                                                                            • options : Object (optional)

                                                                              Extra options object.

                                                                            Fires

                                                                              ( eventName, fn, [scope], [options] )
                                                                              Removes a before-event handler. ...

                                                                              Removes a before-event handler.

                                                                              Same as removeListener with order set to 'before'.

                                                                              Available since: 2.0.0

                                                                              Parameters

                                                                              • eventName : String/String[]/Object

                                                                                The name of the event the handler was associated with.

                                                                              • fn : Function/String

                                                                                The handler to remove.

                                                                              • scope : Object (optional)

                                                                                The scope originally specified for fn.

                                                                              • options : Object (optional)

                                                                                Extra options object.

                                                                              Fires

                                                                                ( selector, name, fn, scope, order )private
                                                                                ...

                                                                                Available since: 2.0.0

                                                                                Parameters

                                                                                Fires

                                                                                  ( eventName, fn, [scope], [options], [order] )
                                                                                  Removes an event handler. ...

                                                                                  Removes an event handler.

                                                                                  Available since: 1.1.0

                                                                                  Parameters

                                                                                  • eventName : String/String[]/Object

                                                                                    The type of event the handler was associated with.

                                                                                  • fn : Function/String

                                                                                    The handler to remove. This must be a reference to the function passed into the addListener call.

                                                                                  • scope : Object (optional)

                                                                                    The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to addListener or the listener will not be removed.

                                                                                  • options : Object (optional)

                                                                                    Extra options object. See addListener for details.

                                                                                  • order : String (optional)

                                                                                    The order of the listener to remove. Possible values are before, current and after.

                                                                                    Defaults to: 'current'

                                                                                  Fires

                                                                                    ( object, eventName, [fn], [scope] )deprecated
                                                                                    Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed. ...

                                                                                    Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.

                                                                                    Available since: 1.1.0

                                                                                    This method has been deprecated since 2.0

                                                                                    All listeners are now automatically managed where necessary. Simply use removeListener.

                                                                                    Parameters

                                                                                    • object : Ext.mixin.Observable/HTMLElement

                                                                                      The item to which to add a listener/listeners.

                                                                                    • eventName : Object/String

                                                                                      The event name, or an object containing event name properties.

                                                                                    • fn : Function (optional)

                                                                                      If the eventName parameter was an event name, this is the handler function.

                                                                                    • scope : Object (optional)

                                                                                      If the eventName parameter was an event name, this is the scope in which the handler function is executed.

                                                                                    Resumes firing events (see suspendEvents). ...

                                                                                    Resumes firing events (see suspendEvents).

                                                                                    Available since: 1.1.0

                                                                                    Parameters

                                                                                    • discardQueuedEvents : Boolean

                                                                                      Pass as true to discard any queued events.

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( application )
                                                                                    Sets the value of application. ...

                                                                                    Sets the value of application.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( before )
                                                                                    Sets the value of before. ...

                                                                                    Sets the value of before.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Sets the value of bubbleEvents. ...

                                                                                    Sets the value of bubbleEvents.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    ( config, applyIfNotSet ) : Ext.Basechainableprivate
                                                                                    ...

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Returns

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( control )
                                                                                    Sets the value of control. ...

                                                                                    Sets the value of control.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    ...

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Sets the value of listeners. ...

                                                                                    Sets the value of listeners.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( models )
                                                                                    Sets the value of models. ...

                                                                                    Sets the value of models.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( refs )
                                                                                    Sets the value of refs. ...

                                                                                    Sets the value of refs.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( routes )
                                                                                    Sets the value of routes. ...

                                                                                    Sets the value of routes.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( stores )
                                                                                    Sets the value of stores. ...

                                                                                    Sets the value of stores.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Ext.app.Controller
                                                                                    view source
                                                                                    ( views )
                                                                                    Sets the value of views. ...

                                                                                    Sets the value of views.

                                                                                    Available since: 2.0.0

                                                                                    Parameters

                                                                                    Get the reference to the class from which this object was instantiated. ...

                                                                                    Get the reference to the class from which this object was instantiated. Note that unlike self, this.statics() is scope-independent and it always returns the class from which it was called, regardless of what this points to during run-time

                                                                                    Ext.define('My.Cat', {
                                                                                        statics: {
                                                                                            totalCreated: 0,
                                                                                            speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
                                                                                        },
                                                                                    
                                                                                        constructor: function() {
                                                                                            var statics = this.statics();
                                                                                    
                                                                                            alert(statics.speciesName);     // always equals to 'Cat' no matter what 'this' refers to
                                                                                                                            // equivalent to: My.Cat.speciesName
                                                                                    
                                                                                            alert(this.self.speciesName);   // dependent on 'this'
                                                                                    
                                                                                            statics.totalCreated++;
                                                                                        },
                                                                                    
                                                                                        clone: function() {
                                                                                            var cloned = new this.self();                    // dependent on 'this'
                                                                                    
                                                                                            cloned.groupName = this.statics().speciesName;   // equivalent to: My.Cat.speciesName
                                                                                    
                                                                                            return cloned;
                                                                                        }
                                                                                    });
                                                                                    
                                                                                    
                                                                                    Ext.define('My.SnowLeopard', {
                                                                                        extend: 'My.Cat',
                                                                                    
                                                                                        statics: {
                                                                                            speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'
                                                                                        },
                                                                                    
                                                                                        constructor: function() {
                                                                                            this.callParent();
                                                                                        }
                                                                                    });
                                                                                    
                                                                                    var cat = new My.Cat();                 // alerts 'Cat', then alerts 'Cat'
                                                                                    
                                                                                    var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
                                                                                    
                                                                                    var clone = snowLeopard.clone();
                                                                                    alert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'
                                                                                    alert(clone.groupName);                 // alerts 'Cat'
                                                                                    
                                                                                    alert(My.Cat.totalCreated);             // alerts 3
                                                                                    

                                                                                    Available since: 2.0.0

                                                                                    Returns

                                                                                    Suspends the firing of all events. ...

                                                                                    Suspends the firing of all events.

                                                                                    All events will be queued but you can discard the queued events by passing false in the resumeEvents call

                                                                                    Available since: 1.1.0

                                                                                    ( toggle, eventName, fn, scope, options, order )private
                                                                                    ...

                                                                                    Available since: 2.1.0

                                                                                    Parameters

                                                                                    Fires

                                                                                      ( eventName, fn, [scope], [options], [order] )
                                                                                      Alias for removeListener. ...

                                                                                      Alias for removeListener.

                                                                                      Available since: 1.1.0

                                                                                      Parameters

                                                                                      • eventName : String/String[]/Object

                                                                                        The type of event the handler was associated with.

                                                                                      • fn : Function/String

                                                                                        The handler to remove. This must be a reference to the function passed into the addListener call.

                                                                                      • scope : Object (optional)

                                                                                        The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to addListener or the listener will not be removed.

                                                                                      • options : Object (optional)

                                                                                        Extra options object. See addListener for details.

                                                                                      • order : String (optional)

                                                                                        The order of the listener to remove. Possible values are before, current and after.

                                                                                        Defaults to: 'current'

                                                                                      ( eventName, fn, [scope], [options] )
                                                                                      Alias for removeAfterListener. ...

                                                                                      Alias for removeAfterListener.

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      • eventName : String/String[]/Object

                                                                                        The name of the event the handler was associated with.

                                                                                      • fn : Function/String

                                                                                        The handler to remove.

                                                                                      • scope : Object (optional)

                                                                                        The scope originally specified for fn.

                                                                                      • options : Object (optional)

                                                                                        Extra options object.

                                                                                      ( eventName, fn, [scope], [options] )
                                                                                      Alias for removeBeforeListener. ...

                                                                                      Alias for removeBeforeListener.

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      • eventName : String/String[]/Object

                                                                                        The name of the event the handler was associated with.

                                                                                      • fn : Function/String

                                                                                        The handler to remove.

                                                                                      • scope : Object (optional)

                                                                                        The scope originally specified for fn.

                                                                                      • options : Object (optional)

                                                                                        Extra options object.

                                                                                      Defined By

                                                                                      Static methods

                                                                                      ( config, fullMerge )privatestatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( members )chainableprivatestatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( name, member )chainableprivatestatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( members )chainablestatic
                                                                                      Add methods / properties to the prototype of this class. ...

                                                                                      Add methods / properties to the prototype of this class.

                                                                                      Ext.define('My.awesome.Cat', {
                                                                                          constructor: function() {
                                                                                              // ...
                                                                                          }
                                                                                      });
                                                                                      
                                                                                       My.awesome.Cat.addMembers({
                                                                                           meow: function() {
                                                                                              alert('Meowww...');
                                                                                           }
                                                                                       });
                                                                                      
                                                                                       var kitty = new My.awesome.Cat();
                                                                                       kitty.meow();
                                                                                      

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( members ) : Ext.Basechainablestatic
                                                                                      Add / override static properties of this class. ...

                                                                                      Add / override static properties of this class.

                                                                                      Ext.define('My.cool.Class', {
                                                                                          // this.se
                                                                                      });
                                                                                      
                                                                                      My.cool.Class.addStatics({
                                                                                          someProperty: 'someValue',      // My.cool.Class.someProperty = 'someValue'
                                                                                          method1: function() {  },    // My.cool.Class.method1 = function() { ... };
                                                                                          method2: function() {  }     // My.cool.Class.method2 = function() { ... };
                                                                                      });
                                                                                      

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      Returns

                                                                                      ( xtype )chainableprivatestatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( fromClass, members ) : Ext.Basechainableprivatestatic
                                                                                      Borrow another class' members to the prototype of this class. ...

                                                                                      Borrow another class' members to the prototype of this class.

                                                                                      Ext.define('Bank', {
                                                                                          money: '$$$',
                                                                                          printMoney: function() {
                                                                                              alert('$$$$$$$');
                                                                                          }
                                                                                      });
                                                                                      
                                                                                      Ext.define('Thief', {
                                                                                          // ...
                                                                                      });
                                                                                      
                                                                                      Thief.borrow(Bank, ['money', 'printMoney']);
                                                                                      
                                                                                      var steve = new Thief();
                                                                                      
                                                                                      alert(steve.money); // alerts '$$$'
                                                                                      steve.printMoney(); // alerts '$$$$$$$'
                                                                                      

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      • fromClass : Ext.Base

                                                                                        The class to borrow members from

                                                                                      • members : Array/String

                                                                                        The names of the members to borrow

                                                                                      Returns

                                                                                      ( args )protectedstatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      Create a new instance of this Class. ...

                                                                                      Create a new instance of this Class.

                                                                                      Ext.define('My.cool.Class', {
                                                                                          // ...
                                                                                      });
                                                                                      
                                                                                      My.cool.Class.create({
                                                                                          someConfig: true
                                                                                      });
                                                                                      

                                                                                      All parameters are passed to the constructor of the class.

                                                                                      Available since: 2.0.0

                                                                                      Returns

                                                                                      ( alias, origin )static
                                                                                      Create aliases for existing prototype methods. ...

                                                                                      Create aliases for existing prototype methods. Example:

                                                                                      Ext.define('My.cool.Class', {
                                                                                          method1: function() {  },
                                                                                          method2: function() {  }
                                                                                      });
                                                                                      
                                                                                      var test = new My.cool.Class();
                                                                                      
                                                                                      My.cool.Class.createAlias({
                                                                                          method3: 'method1',
                                                                                          method4: 'method2'
                                                                                      });
                                                                                      
                                                                                      test.method3(); // test.method1()
                                                                                      
                                                                                      My.cool.Class.createAlias('method5', 'method3');
                                                                                      
                                                                                      test.method5(); // test.method3() -> test.method1()
                                                                                      

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( parent )privatestatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      Get the current class' name in string format. ...

                                                                                      Get the current class' name in string format.

                                                                                      Ext.define('My.cool.Class', {
                                                                                          constructor: function() {
                                                                                              alert(this.self.getName()); // alerts 'My.cool.Class'
                                                                                          }
                                                                                      });
                                                                                      
                                                                                      My.cool.Class.getName(); // 'My.cool.Class'
                                                                                      

                                                                                      Available since: 2.0.0

                                                                                      Returns

                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      ( name, mixinClass )privatestatic
                                                                                      Used internally by the mixins pre-processor ...

                                                                                      Used internally by the mixins pre-processor

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( fn, scope )chainableprivatestatic
                                                                                      ...

                                                                                      Available since: 2.0.0

                                                                                      Parameters

                                                                                      ( members ) : Ext.Basechainabledeprecatedstatic
                                                                                      Override members of this class. ...

                                                                                      Override members of this class. Overridden methods can be invoked via callParent.

                                                                                      Ext.define('My.Cat', {
                                                                                          constructor: function() {
                                                                                              alert("I'm a cat!");
                                                                                          }
                                                                                      });
                                                                                      
                                                                                      My.Cat.override({
                                                                                          constructor: function() {
                                                                                              alert("I'm going to be a cat!");
                                                                                      
                                                                                              var instance = this.callParent(arguments);
                                                                                      
                                                                                              alert("Meeeeoooowwww");
                                                                                      
                                                                                              return instance;
                                                                                          }
                                                                                      });
                                                                                      
                                                                                      var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                                                                                                                // alerts "I'm a cat!"
                                                                                                                // alerts "Meeeeoooowwww"
                                                                                      

                                                                                      As of 2.1, direct use of this method is deprecated. Use Ext.define instead:

                                                                                      Ext.define('My.CatOverride', {
                                                                                          override: 'My.Cat',
                                                                                      
                                                                                          constructor: function() {
                                                                                              alert("I'm going to be a cat!");
                                                                                      
                                                                                              var instance = this.callParent(arguments);
                                                                                      
                                                                                              alert("Meeeeoooowwww");
                                                                                      
                                                                                              return instance;
                                                                                          }
                                                                                      });
                                                                                      

                                                                                      The above accomplishes the same result but can be managed by the Ext.Loader which can properly order the override and its target class and the build process can determine whether the override is needed based on the required state of the target class (My.Cat).

                                                                                      Available since: 2.0.0

                                                                                      This method has been deprecated since 2.1.0

                                                                                      Please use Ext.define instead

                                                                                      Parameters

                                                                                      • members : Object

                                                                                        The properties to add to this class. This should be specified as an object literal containing one or more properties.

                                                                                      Returns

                                                                                      ...

                                                                                      Available since: 2.0.0