Ext.app.Profile

Hierarchy

Ext.Base
Ext.app.Profile

Mixins

Files

A Profile represents a range of devices that fall under a common category. For the vast majority of apps that use device profiles, the app defines a Phone profile and a Tablet profile. Doing this enables you to easily customize the experience for the different sized screens offered by those device types.

Only one Profile can be active at a time, and each Profile defines a simple isActive function that should return either true or false. The first Profile to return true from its isActive function is set as your Application's current profile.

A Profile can define any number of models, views, controllers and stores which will be loaded if the Profile is activated. It can also define a launch function that will be called after all of its dependencies have been loaded, just before the application launch function is called.

Sample Usage

First you need to tell your Application about your Profile(s):

Ext.application({
    name: 'MyApp',
    profiles: ['Phone', 'Tablet']
});

This will load app/profile/Phone.js and app/profile/Tablet.js. Here's how we might define the Phone profile:

Ext.define('MyApp.profile.Phone', {
    extend: 'Ext.app.Profile',

    views: ['Main'],

    isActive: function() {
        return Ext.os.is('Phone');
    }
});

The isActive function returns true if we detect that we are running on a phone device. If that is the case the Application will set this Profile active and load the 'Main' view specified in the Profile's views config.

Class Specializations

Because Profiles are specializations of an application, all of the models, views, controllers and stores defined in a Profile are expected to be namespaced under the name of the Profile. Here's an expanded form of the example above:

Ext.define('MyApp.profile.Phone', {
    extend: 'Ext.app.Profile',

    views: ['Main'],
    controllers: ['Signup'],
    models: ['MyApp.model.Group'],

    isActive: function() {
        return Ext.os.is('Phone');
    }
});

In this case, the Profile is going to load app/view/phone/Main.js, app/controller/phone/Signup.js and app/model/Group.js. Notice that in each of the first two cases the name of the profile ('phone' in this case) was injected into the class names. In the third case we specified the full Model name (for Group) so the Profile name was not injected.

For a fuller understanding of the ideas behind Profiles and how best to use them in your app, we suggest you read the device profiles guide.

Defined By

Config options

The Application instance that this Profile is bound to. ...

The Application instance that this Profile is bound to. This is set automatically.

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

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

Ext.app.Profile
view source
: Array
Any additional Controllers to load for this profile. ...

Any additional Controllers to load for this profile. Note that each item here will be prepended with the Profile namespace when loaded. Example usage:

controllers: [
    'Users',
    'MyApp.controller.Products'
]

This will load MyApp.controller.tablet.Users and MyApp.controller.Products.

Defaults to: []

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().

Ext.app.Profile
view source
: Array
Any additional Models to load for this profile. ...

Any additional Models to load for this profile. Note that each item here will be prepended with the Profile namespace when loaded. Example usage:

models: [
    'Group',
    'MyApp.model.User'
]

This will load MyApp.model.tablet.Group and MyApp.model.User.

Defaults to: []

Ext.app.Profile
view source
: String
The name of this Profile. ...

The name of this Profile. Defaults to the last section of the class name (e.g. a profile called MyApp.profile.Phone will default the name to 'Phone').

Defaults to: 'auto'

Ext.app.Profile
view source
: String
The namespace that this Profile's classes can be found in. ...

The namespace that this Profile's classes can be found in. Defaults to the lowercased Profile name, for example a Profile called MyApp.profile.Phone will by default have a 'phone' namespace, which means that this Profile's additional models, stores, views and controllers will be loaded from the MyApp.model.phone., MyApp.store.phone., MyApp.view.phone. and MyApp.controller.phone. namespaces respectively.

Defaults to: 'auto'

Ext.app.Profile
view source
: Array
Any additional Stores to load for this profile. ...

Any additional Stores to load for this profile. Note that each item here will be prepended with the Profile namespace when loaded. Example usage:

stores: [
    'Users',
    'MyApp.store.Products'
]

This will load MyApp.store.tablet.Users and MyApp.store.Products.

Defaults to: []

Ext.app.Profile
view source
: Array
Any additional views to load for this profile. ...

Any additional views to load for this profile. Note that each item here will be prepended with the Profile namespace when loaded. Example usage:

views: [
    'Main',
    'MyApp.view.Login'
]

This will load MyApp.view.tablet.Main and MyApp.view.Login.

Defaults to: []

Properties

Defined By

Instance properties

...

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

...

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

...

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

Overrides: Ext.mixin.Sortable.mixinConfig

...

Defaults to: 'identifiable'

...

Defaults to: 'observable'

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

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

Defined By

Static properties

...

Defaults to: []

Methods

Defined By

Instance methods

Ext.app.Profile
view source
new( config ) : Ext.app.Profile
Creates a new Profile instance ...

Creates a new Profile instance

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

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

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

        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.

          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.addListener('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.addListener({
              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.addListener({
              tap  : { fn: this.onTap, scope: this, single: true },
              swipe: { fn: button.onSwipe, scope: button }
          });
          

          See the Events Guide for more.

          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 (optional)

            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.addListener({
                  // 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.

            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.

            ...

            Parameters

            Fires

              ...

              Parameters

              Fires

                Ext.app.Profile
                view source
                ( name )private
                ...

                Parameters

                Ext.app.Profile
                view source
                ( name )private
                ...

                Parameters

                Fires

                  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"
                  

                  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.

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

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

                  Parameters

                  Returns

                  Removes all listeners for this object. ...

                  Removes all listeners for this object.

                  Fires

                    ...

                    Parameters

                    Fires

                      ...

                      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.

                        Parameters

                        Returns

                        Fires

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

                          Parameters

                          Returns

                          Fires

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

                            Parameters

                            Fires

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

                              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.

                                Parameters

                                • events : String/String[]

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

                                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.

                                  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.

                                    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.

                                      Returns

                                      Returns the value of bubbleEvents. ...

                                      Returns the value of bubbleEvents.

                                      Returns

                                      ...

                                      Parameters

                                      Ext.app.Profile
                                      view source
                                      ( ) : Array
                                      Returns the value of controllers. ...

                                      Returns the value of controllers.

                                      Returns

                                      Ext.app.Profile
                                      view source
                                      ( )private
                                      Computes the full class names of any specified model, view, controller and store dependencies, returns them in an obj...

                                      Computes the full class names of any specified model, view, controller and store dependencies, returns them in an object map for easy loading

                                      Fires

                                        Retrieves the id of this component. ...

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

                                        Returns

                                        Fires

                                          Returns the initial configuration passed to constructor. ...

                                          Returns the initial configuration passed to constructor.

                                          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.

                                          Returns

                                          ...

                                          Parameters

                                          Ext.app.Profile
                                          view source
                                          ( ) : Array
                                          Returns the value of models. ...

                                          Returns the value of models.

                                          Returns

                                          Ext.app.Profile
                                          view source
                                          ( ) : String
                                          Returns the value of name. ...

                                          Returns the value of name.

                                          Returns

                                          Ext.app.Profile
                                          view source
                                          ( ) : String
                                          Returns the value of namespace. ...

                                          Returns the value of namespace.

                                          Returns

                                          Ext.app.Profile
                                          view source
                                          ( ) : Array
                                          Returns the value of stores. ...

                                          Returns the value of stores.

                                          Returns

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

                                          Returns the value of views.

                                          Returns

                                          ...

                                          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

                                          Parameters

                                          • eventName : String

                                            The name of the event to check for

                                          Returns

                                          • Boolean

                                            True if the event is being listened for, else false

                                          Fires

                                            ( 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'
                                            

                                            Parameters

                                            Returns

                                            • Object

                                              mixins The mixin prototypes as key - value pairs

                                            Fires

                                              Ext.app.Profile
                                              view source
                                              ( ) : Boolean
                                              Determines whether or not this Profile is active on the device isActive is executed on. ...

                                              Determines whether or not this Profile is active on the device isActive is executed on. Should return true if this profile is meant to be active on this device, false otherwise. Each Profile should implement this function (the default implementation just returns false).

                                              Returns

                                              • Boolean

                                                True if this Profile should be activated on the device it is running on, false otherwise

                                              Ext.app.Profile
                                              view source
                                              ( )
                                              The launch function is called by the Application if this Profile's isActive function returned true. ...

                                              The launch function is called by the Application if this Profile's isActive function returned true. This is typically the best place to run any profile-specific app launch code. Example usage:

                                              launch: function() {
                                                  Ext.create('MyApp.view.tablet.Main');
                                              }
                                              
                                              ( object, eventName, [fn], [scope], [options] )deprecated
                                              Alias for addManagedListener. ...

                                              Alias for addManagedListener.

                                              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.

                                              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.

                                              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 (optional)

                                                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.addListener({
                                                      // 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.

                                              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.

                                              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.

                                              ( names, callback, scope )private
                                              ...

                                              Parameters

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

                                              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.

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

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

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

                                                      Parameters

                                                      Fires

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

                                                        Removes an event handler.

                                                        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.

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

                                                          Parameters

                                                          • discardQueuedEvents : Boolean

                                                            Pass as true to discard any queued events.

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

                                                          Sets the value of application.

                                                          Parameters

                                                          Sets the value of bubbleEvents. ...

                                                          Sets the value of bubbleEvents.

                                                          Parameters

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

                                                          Parameters

                                                          Returns

                                                          Ext.app.Profile
                                                          view source
                                                          ( controllers )
                                                          Sets the value of controllers. ...

                                                          Sets the value of controllers.

                                                          Parameters

                                                          ...

                                                          Parameters

                                                          Sets the value of listeners. ...

                                                          Sets the value of listeners.

                                                          Parameters

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

                                                          Sets the value of models.

                                                          Parameters

                                                          Ext.app.Profile
                                                          view source
                                                          ( name )
                                                          Sets the value of name. ...

                                                          Sets the value of name.

                                                          Parameters

                                                          Ext.app.Profile
                                                          view source
                                                          ( namespace )
                                                          Sets the value of namespace. ...

                                                          Sets the value of namespace.

                                                          Parameters

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

                                                          Sets the value of stores.

                                                          Parameters

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

                                                          Sets the value of views.

                                                          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
                                                          

                                                          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

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

                                                          Parameters

                                                          Fires

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

                                                            Alias for removeListener.

                                                            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.

                                                            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.

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

                                                            Parameters

                                                            ( members )chainableprivatestatic
                                                            ...

                                                            Parameters

                                                            ( name, member )chainableprivatestatic
                                                            ...

                                                            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();
                                                            

                                                            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() { ... };
                                                            });
                                                            

                                                            Parameters

                                                            Returns

                                                            ( xtype )chainableprivatestatic
                                                            ...

                                                            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 '$$$$$$$'
                                                            

                                                            Parameters

                                                            • fromClass : Ext.Base

                                                              The class to borrow members from

                                                            • members : Array/String

                                                              The names of the members to borrow

                                                            Returns

                                                            ( args )protectedstatic
                                                            ...

                                                            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.

                                                            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()
                                                            

                                                            Parameters

                                                            ( parent )privatestatic
                                                            ...

                                                            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'
                                                            

                                                            Returns

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

                                                            Used internally by the mixins pre-processor

                                                            Parameters

                                                            ( fn, scope )chainableprivatestatic
                                                            ...

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

                                                            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