Ext JS 4.0.7 Sencha Docs

Ext.data.proxy.Memory

Alternate names

Ext.data.MemoryProxy

Hierarchy

Inherited mixins

Subclasses

Files

In-memory proxy. This proxy simply uses a local variable for data storage/retrieval, so its contents are lost on every page refresh.

Usually this Proxy isn't used directly, serving instead as a helper to a Store where a reader is required to load data. For example, say we have a Store for a User model and have some inline data we want to load, but this data isn't in quite the right format: we can use a MemoryProxy with a JsonReader to read it into our Store:

//this is the model we will be using in the store
Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'id',    type: 'int'},
        {name: 'name',  type: 'string'},
        {name: 'phone', type: 'string', mapping: 'phoneNumber'}
    ]
});

//this data does not line up to our model fields - the phone field is called phoneNumber
var data = {
    users: [
        {
            id: 1,
            name: 'Ed Spencer',
            phoneNumber: '555 1234'
        },
        {
            id: 2,
            name: 'Abe Elias',
            phoneNumber: '666 1234'
        }
    ]
};

//note how we set the 'root' in the reader to match the data structure above
var store = Ext.create('Ext.data.Store', {
    autoLoad: true,
    model: 'User',
    data : data,
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'users'
        }
    }
});

Available since: 1.1.0

Defined By

Config options

True to batch actions of a particular type when synchronizing the store. ...

True to batch actions of a particular type when synchronizing the store. Defaults to true.

Defaults to: true

Available since: 4.0.0

Comma-separated ordering 'create', 'update' and 'destroy' actions when batching. ...

Comma-separated ordering 'create', 'update' and 'destroy' actions when batching. Override this to set a different order for the batched CRUD actions to be executed in. Defaults to 'create,update,destroy'.

Defaults to: 'create,update,destroy'

Available since: 4.0.0

Ext.data.proxy.Memory
view source
: Ext.data.Model[]

Optional array of Records to load into the Proxy

Optional array of Records to load into the Proxy

Available since: 4.0.0

The default registered reader type. ...

The default registered reader type. Defaults to 'json'.

Defaults to: 'json'

Available since: 4.0.0

The default registered writer type. ...

The default registered writer type. Defaults to 'json'.

Defaults to: 'json'

Available since: 4.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.

DOM events from Ext JS Components

While some Ext JS Component classes export selected DOM events (e.g. "click", "mouseover" etc), this is usually only done when extra value can be added. For example the DataView's itemclick event passing the node clicked on. To access DOM events directly from a child element of a Component, we need to specify the element option to identify the Component property to add a DOM listener to:

new Ext.panel.Panel({
    width: 400,
    height: 200,
    dockedItems: [{
        xtype: 'toolbar'
    }],
    listeners: {
        click: {
            element: 'el', //bind to the underlying el property on the panel
            fn: function(){ console.log('click el'); }
        },
        dblclick: {
            element: 'body', //bind to the underlying body property on the panel
            fn: function(){ console.log('dblclick body'); }
        }
    }
});

Available since: 1.1.0

The name of the Model to tie to this Proxy. ...

The name of the Model to tie to this Proxy. Can be either the string name of the Model, or a reference to the Model constructor. Required.

Available since: 4.0.0

The Ext.data.reader.Reader to use to decode the server's response or data read from client. ...

The Ext.data.reader.Reader to use to decode the server's response or data read from client. This can either be a Reader instance, a config object or just a valid Reader type name (e.g. 'json', 'xml').

Available since: 4.0.4

The Ext.data.writer.Writer to use to encode any request sent to the server or saved to client. ...

The Ext.data.writer.Writer to use to encode any request sent to the server or saved to client. This can either be a Writer instance, a config object or just a valid Writer type name (e.g. 'json', 'xml').

Available since: 4.0.4

Defined By

Properties

Available since: 4.0.0

...

Defaults to: /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/

Available since: 4.0.0

...

Defaults to: true

Available since: 4.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'

        return 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: 4.0.0

Methods

Defined By

Instance methods

Creates the Proxy ...

Creates the Proxy

Available since: 4.0.0

Parameters

  • config : Object (optional)

    Config object.

Returns

Fires

    Overrides: Ext.util.Observable.constructor, Ext.data.proxy.Proxy.constructor

    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

    Parameters

    • o : 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. Usage:

      this.addEvents({
          storeloaded: true,
          storecleared: true
      });
      
    • more : String... (optional)

      Additional event names if multiple event names are being passed as separate parameters. Usage:

      this.addEvents('storeloaded', 'storecleared');
      
    ...

    Available since: 4.0.6

    Parameters

    Returns

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

    Appends an event handler to this object.

    Available since: 1.1.0

    Parameters

    • eventName : String

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

    • fn : Function

      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.

      Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.

      This object may contain any of the following properties:

      • scope : Object

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

      • delay : Number

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

      • single : Boolean

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

      • buffer : Number

        Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.

      • target : Observable

        Only call the handler if the event was fired on the target Observable, not if the event was bubbled up from a child Observable.

      • element : String

        This option is only valid for listeners bound to Components. The name of a Component property which references an element to add a listener to.

        This option is useful during Component construction to add DOM event listeners to elements of Components which will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:

        new Ext.panel.Panel({
            title: 'The title',
            listeners: {
                click: this.handlePanelClick,
                element: 'body'
            }
        });
        

      Combining Options

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

      A delayed, one-time listener.

      myPanel.on('hide', this.handleClick, 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:

      myGridPanel.on({
          cellClick: this.onCellClick,
          mouseover: this.onMouseOver,
          mouseout: this.onMouseOut,
          scope: this // Important. Ensure "this" is correct during handler execution
      });
      

      One can also specify options for each event handler separately:

      myGridPanel.on({
          cellClick: {fn: this.onCellClick, scope: this, single: true},
          mouseover: {fn: panel.onMouseOver, scope: panel}
      });
      

    Fires

      ( item, ename, [fn], [scope], [opt] )
      Adds listeners to any Observable object (or Ext.Element) which are automatically removed when this Component is destr...

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

      Available since: 4.0.0

      Parameters

      • item : Ext.util.Observable/Ext.Element

        The item to which to add a listener/listeners.

      • ename : Object/String

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

      • fn : Function (optional)

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

      • scope : Object (optional)

        If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed.

      • opt : Object (optional)

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

      Fires

        Performs a batch of Operations, in the order specified by batchOrder. ...

        Performs a batch of Operations, in the order specified by batchOrder. Used internally by Ext.data.Store's sync method. Example usage:

        myProxy.batch({
            create : [myModel1, myModel2],
            update : [myModel3],
            destroy: [myModel4, myModel5]
        });
        

        Where the myModel* above are Model instances - in this case 1 and 2 are new instances and have not been saved before, 3 has been saved previously but needs to be updated, and 4 and 5 have already been saved but should now be destroyed.

        Available since: 4.0.0

        Parameters

        • operations : Object

          Object containing the Model instances to act upon, keyed by action name

        • listeners : Object (optional)

          listeners object passed straight through to the Batch - see Ext.data.Batch

        Returns

        Call the original method that was previously overridden with override Ext.define('My.Cat', { constructor: functi...

        Call the original method that was previously overridden with override

        Ext.define('My.Cat', {
            constructor: function() {
                alert("I'm a cat!");
        
                return this;
            }
        });
        
        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: 4.0.0

        Parameters

        • args : Array/Arguments

          The arguments, either an array or the arguments object

        Returns

        • Object

          Returns the result after calling the overridden method

        Call the parent's overridden method. ...

        Call the parent's overridden method. For example:

        Ext.define('My.own.A', {
            constructor: function(test) {
                alert(test);
            }
        });
        
        Ext.define('My.own.B', {
            extend: 'My.own.A',
        
            constructor: function(test) {
                alert(test);
        
                this.callParent([test + 1]);
            }
        });
        
        Ext.define('My.own.C', {
            extend: 'My.own.B',
        
            constructor: function() {
                alert("Going to call parent's overriden constructor...");
        
                this.callParent(arguments);
            }
        });
        
        var a = new My.own.A(1); // alerts '1'
        var b = new My.own.B(1); // alerts '1', then alerts '2'
        var c = new My.own.C(2); // alerts "Going to call parent's overriden constructor..."
                                 // alerts '2', then alerts '3'
        

        Available since: 4.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 from the superclass' method

        Ext.data.proxy.Memory
        view source
        ( )
        Abstract function that must be implemented by each ClientProxy subclass. ...

        Abstract function that must be implemented by each ClientProxy subclass. This should purge all record data from the client side storage, as well as removing any supporting data (such as lists of record IDs)

        Available since: 4.0.0

        Overrides: Ext.data.proxy.Client.clear

        Removes all listeners for this object including the managed listeners ...

        Removes all listeners for this object including the managed listeners

        Available since: 4.0.0

        Fires

          Removes all managed listeners for this object. ...

          Removes all managed listeners for this object.

          Available since: 4.0.0

          Fires

            ( eventName, args, bubbles )private
            Continue to fire event. ...

            Continue to fire event.

            Available since: Ext JS 4.0.7

            Parameters

            Fires

              ( operation, callback, scope )
              Performs the given create operation. ...

              Performs the given create operation.

              Available since: 4.0.0

              Parameters

              • operation : Ext.data.Operation

                The Operation to perform

              • callback : Function

                Callback function to be called when the Operation has completed (whether successful or not)

              • scope : Object

                Scope to execute the callback function in

              Creates an event handling function which refires the event from this object as the passed event name. ...

              Creates an event handling function which refires the event from this object as the passed event name.

              Available since: 4.0.0

              Parameters

              Returns

              ( operation, callback, scope )
              Performs the given destroy operation. ...

              Performs the given destroy operation.

              Available since: 2.3.0

              Parameters

              • operation : Ext.data.Operation

                The Operation to perform

              • callback : Function

                Callback function to be called when the Operation has completed (whether successful or not)

              • scope : Object

                Scope to execute the callback function in

              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.

              This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to access the required target more quickly.

              Example:

              Ext.override(Ext.form.field.Base, {
                  //  Add functionality to Field's initComponent to enable the change event to bubble
                  initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
                      this.enableBubble('change');
                  }),
              
                  //  We know that we want Field's events to bubble directly to the FormPanel.
                  getBubbleTarget : function() {
                      if (!this.formPanel) {
                          this.formPanel = this.findParentByType('form');
                      }
                      return this.formPanel;
                  }
              });
              
              var myForm = new Ext.formPanel({
                  title: 'User Details',
                  items: [{
                      ...
                  }],
                  listeners: {
                      change: function() {
                          // Title goes red if form has been modified.
                          myForm.header.setStyle('color', 'red');
                      }
                  }
              });
              

              Available since: 3.4.0

              Parameters

              • events : String/String[]

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

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

              An event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget) 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 otherwise it returns true.

              Fires

                Gets the bubbling parent for an Observable ...

                Gets the bubbling parent for an Observable

                Available since: Ext JS 4.0.7

                Returns

                Fires

                  Returns the model attached to this Proxy ...

                  Returns the model attached to this Proxy

                  Available since: 4.0.0

                  Returns

                  Returns the reader currently attached to this proxy instance ...

                  Returns the reader currently attached to this proxy instance

                  Available since: 4.0.0

                  Returns

                  Returns the writer currently attached to this proxy instance ...

                  Returns the writer currently attached to this proxy instance

                  Available since: 4.0.0

                  Returns

                  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

                  ( config ) : 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);
                  
                          return this;
                      }
                  });
                  
                  var awesome = new My.awesome.Class({
                      name: 'Super Awesome'
                  });
                  
                  alert(awesome.getName()); // 'Super Awesome'
                  

                  Available since: 4.0.0

                  Parameters

                  Returns

                  • Object

                    mixins The mixin prototypes as key - value pairs

                  Fires

                    ( name, cls )private
                    Used internally by the mixins pre-processor ...

                    Used internally by the mixins pre-processor

                    Available since: 4.0.6

                    Parameters

                    Fires

                      ( item, ename, [fn], [scope], [opt] )
                      Shorthand for addManagedListener. ...

                      Shorthand for addManagedListener.

                      Available since: 4.0.2

                      Parameters

                      • item : Ext.util.Observable/Ext.Element

                        The item to which to add a listener/listeners.

                      • ename : Object/String

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

                      • fn : Function (optional)

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

                      • scope : Object (optional)

                        If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed.

                      • opt : Object (optional)

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

                      ( item, ename, [fn], [scope] )
                      Shorthand for removeManagedListener. ...

                      Shorthand for removeManagedListener.

                      Available since: 4.0.2

                      Parameters

                      • item : Ext.util.Observable/Ext.Element

                        The item from which to remove a listener/listeners.

                      • ename : Object/String

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

                      • fn : Function (optional)

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

                      • scope : Object (optional)

                        If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed.

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

                      Shorthand for addListener.

                      Available since: 1.1.0

                      Parameters

                      • eventName : String

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

                      • fn : Function

                        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.

                        Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.

                        This object may contain any of the following properties:

                        • scope : Object

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

                        • delay : Number

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

                        • single : Boolean

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

                        • buffer : Number

                          Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.

                        • target : Observable

                          Only call the handler if the event was fired on the target Observable, not if the event was bubbled up from a child Observable.

                        • element : String

                          This option is only valid for listeners bound to Components. The name of a Component property which references an element to add a listener to.

                          This option is useful during Component construction to add DOM event listeners to elements of Components which will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:

                          new Ext.panel.Panel({
                              title: 'The title',
                              listeners: {
                                  click: this.handlePanelClick,
                                  element: 'body'
                              }
                          });
                          

                        Combining Options

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

                        A delayed, one-time listener.

                        myPanel.on('hide', this.handleClick, 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:

                        myGridPanel.on({
                            cellClick: this.onCellClick,
                            mouseover: this.onMouseOver,
                            mouseout: this.onMouseOut,
                            scope: this // Important. Ensure "this" is correct during handler execution
                        });
                        

                        One can also specify options for each event handler separately:

                        myGridPanel.on({
                            cellClick: {fn: this.onCellClick, scope: this, single: true},
                            mouseover: {fn: panel.onMouseOver, scope: panel}
                        });
                        
                      ( name, value )private
                      ...

                      Available since: 4.0.6

                      Parameters

                      Fires

                        ( name, fn )private
                        ...

                        Available since: 4.0.0

                        Parameters

                        ...

                        Available since: 1.1.0

                        ...

                        Available since: 4.0.0

                        Ext.data.proxy.Memory
                        view source
                        ( operation, callback, scope )
                        Reads data from the configured data object. ...

                        Reads data from the configured data object. Uses the Proxy's reader, if present.

                        Available since: 4.0.0

                        Parameters

                        • operation : Ext.data.Operation

                          The read Operation

                        • callback : Function

                          The callback to call when reading has completed

                        • scope : Object

                          The scope to call the callback function in

                        Fires

                          Overrides: Ext.data.proxy.Proxy.read, Ext.data.proxy.Memory.read

                          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: 2.3.0

                          Parameters

                          • origin : Object

                            The Observable whose events this object is to relay.

                          • events : String[]

                            Array of event names to relay.

                          • prefix : String

                          Fires

                            Removes an event handler. ...

                            Removes an event handler.

                            Available since: 1.1.0

                            Parameters

                            • eventName : String

                              The type of event the handler was associated with.

                            • fn : Function

                              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.

                            Fires

                              Removes listeners that were added by the mon method. ...

                              Removes listeners that were added by the mon method.

                              Available since: 4.0.0

                              Parameters

                              • item : Ext.util.Observable/Ext.Element

                                The item from which to remove a listener/listeners.

                              • ename : Object/String

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

                              • fn : Function (optional)

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

                              • scope : Object (optional)

                                If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed.

                              Fires

                                Remove a single managed listener item ...

                                Remove a single managed listener item

                                Available since: 4.0.1

                                Parameters

                                • isClear : Boolean

                                  True if this is being called during a clear

                                • managedListener : Object

                                  The managed listener item See removeManagedListener for other args

                                Resumes firing events (see suspendEvents). ...

                                Resumes firing events (see suspendEvents).

                                If events were suspended using the queueSuspended parameter, then all events fired during event suspension will be sent to any listeners now.

                                Available since: 2.3.0

                                ( config ) : Ext.Basechainableprivate
                                ...

                                Available since: 4.0.0

                                Parameters

                                Returns

                                Fires

                                  Sets the model associated with this proxy. ...

                                  Sets the model associated with this proxy. This will only usually be called by a Store

                                  Available since: 4.0.0

                                  Parameters

                                  • model : String/Ext.data.Model

                                    The new model. Can be either the model name string, or a reference to the model's constructor

                                  • setOnStore : Boolean

                                    Sets the new model on the associated Store, if one is present

                                  Fires

                                    Sets the Proxy's Reader by string, config object or Reader instance ...

                                    Sets the Proxy's Reader by string, config object or Reader instance

                                    Available since: 4.0.0

                                    Parameters

                                    Returns

                                    Sets the Proxy's Writer by string, config object or Writer instance ...

                                    Sets the Proxy's Writer by string, config object or Writer instance

                                    Available since: 4.0.0

                                    Parameters

                                    Returns

                                    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++;
                                    
                                            return this;
                                        },
                                    
                                        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: 4.0.0

                                    Returns

                                    Suspends the firing of all events. ...

                                    Suspends the firing of all events. (see resumeEvents)

                                    Available since: 2.3.0

                                    Parameters

                                    • queueSuspended : Boolean

                                      Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events.

                                    ( eventName, fn, [scope] )
                                    Shorthand for removeListener. ...

                                    Shorthand for removeListener.

                                    Available since: 1.1.0

                                    Parameters

                                    • eventName : String

                                      The type of event the handler was associated with.

                                    • fn : Function

                                      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.

                                    ( operation, callback, scope )
                                    Performs the given update operation. ...

                                    Performs the given update operation.

                                    Available since: 4.0.0

                                    Parameters

                                    • operation : Ext.data.Operation

                                      The Operation to perform

                                    • callback : Function

                                      Callback function to be called when the Operation has completed (whether successful or not)

                                    • scope : Object

                                      Scope to execute the callback function in

                                    Defined By

                                    Static methods

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

                                    Add / override static properties of this class.

                                    Ext.define('My.cool.Class', {
                                        ...
                                    });
                                    
                                    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: 4.0.2

                                    Parameters

                                    Returns

                                    ( fromClass, members ) : Ext.Basechainablestatic
                                    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: 4.0.2

                                    Parameters

                                    • fromClass : Ext.Base

                                      The class to borrow members from

                                    • members : String/String[]

                                      The names of the members to borrow

                                    Returns

                                    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: 4.0.2

                                    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: 4.0.2

                                    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: 4.0.4

                                    Returns

                                    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.implement({
                                         meow: function() {
                                            alert('Meowww...');
                                         }
                                     });
                                    
                                     var kitty = new My.awesome.Cat;
                                     kitty.meow();
                                    

                                    Available since: 4.0.2

                                    Parameters

                                    ( members ) : Ext.Basechainablestatic
                                    Override prototype members of this class. ...

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

                                    Ext.define('My.Cat', {
                                        constructor: function() {
                                            alert("I'm a cat!");
                                    
                                            return this;
                                        }
                                    });
                                    
                                    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: 4.0.2

                                    Parameters

                                    Returns