Ext.data.Model

Alternate names

Ext.data.Record

Hierarchy

Ext.Base
Ext.data.Model

Mixins

Requires

Subclasses

Files

A Model represents some object that your application manages. For example, one might define a Model for Users, Products, Cars, or any other real-world object that we want to model in the system. Models are registered via the model manager, and are used by stores, which are in turn used by many of the data-bound components in Ext.

Models are defined as a set of fields and any arbitrary methods and properties relevant to the model. For example:

Ext.define('User', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            {name: 'name',  type: 'string'},
            {name: 'age',   type: 'int'},
            {name: 'phone', type: 'string'},
            {name: 'alive', type: 'boolean', defaultValue: true}
        ]
    },

    changeName: function() {
        var oldName = this.get('name'),
            newName = oldName + " The Barbarian";

        this.set('name', newName);
    }
});

The fields array is turned into a MixedCollection automatically by the ModelManager, and all other functions and properties are copied to the new Model's prototype.

Now we can create instances of our User model and call any model logic we defined:

var user = Ext.create('User', {
    name : 'Conan',
    age  : 24,
    phone: '555-555-5555'
});

user.changeName();
user.get('name'); // returns "Conan The Barbarian"

Validations

Models have built-in support for validations, which are executed against the validator functions in Ext.data.validations (see all validation functions). Validations are easy to add to models:

Ext.define('User', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            {name: 'name',     type: 'string'},
            {name: 'age',      type: 'int'},
            {name: 'phone',    type: 'string'},
            {name: 'gender',   type: 'string'},
            {name: 'username', type: 'string'},
            {name: 'alive',    type: 'boolean', defaultValue: true}
        ],

        validations: [
            {type: 'presence',  field: 'age'},
            {type: 'length',    field: 'name',     min: 2},
            {type: 'inclusion', field: 'gender',   list: ['Male', 'Female']},
            {type: 'exclusion', field: 'username', list: ['Admin', 'Operator']},
            {type: 'format',    field: 'username', matcher: /([a-z]+)[0-9]{2,3}/}
        ]
    }
});

The validations can be run by simply calling the validate function, which returns a Ext.data.Errors object:

var instance = Ext.create('User', {
    name: 'Ed',
    gender: 'Male',
    username: 'edspencer'
});

var errors = instance.validate();

Associations

Models can have associations with other Models via Ext.data.association.HasOne, belongsTo and hasMany associations. For example, let's say we're writing a blog administration application which deals with Users, Posts and Comments. We can express the relationships between these models like this:

Ext.define('Post', {
    extend: 'Ext.data.Model',

    config: {
        fields: ['id', 'user_id'],
        belongsTo: 'User',
        hasMany  : {model: 'Comment', name: 'comments'}
    }
});

Ext.define('Comment', {
    extend: 'Ext.data.Model',

    config: {
        fields: ['id', 'user_id', 'post_id'],
        belongsTo: 'Post'
    }
});

Ext.define('User', {
    extend: 'Ext.data.Model',

    config: {
        fields: ['id'],
        hasMany: [
            'Post',
            {model: 'Comment', name: 'comments'}
        ]
    }
});

See the docs for Ext.data.association.HasOne, Ext.data.association.BelongsTo and Ext.data.association.HasMany for details on the usage and configuration of associations. Note that associations can also be specified like this:

Ext.define('User', {
    extend: 'Ext.data.Model',

    config: {
        fields: ['id'],
        associations: [
            {type: 'hasMany', model: 'Post',    name: 'posts'},
            {type: 'hasMany', model: 'Comment', name: 'comments'}
        ]
    }
});

Using a Proxy

Models are great for representing types of data and relationships, but sooner or later we're going to want to load or save that data somewhere. All loading and saving of data is handled via a Proxy, which can be set directly on the Model:

Ext.define('User', {
    extend: 'Ext.data.Model',

    config: {
        fields: ['id', 'name', 'email'],
        proxy: {
            type: 'rest',
            url : '/users'
        }
    }
});

Here we've set up a Rest Proxy, which knows how to load and save data to and from a RESTful backend. Let's see how this works:

var user = Ext.create('User', {name: 'Ed Spencer', email: 'ed@sencha.com'});

user.save(); //POST /users

Calling save on the new Model instance tells the configured RestProxy that we wish to persist this Model's data onto our server. RestProxy figures out that this Model hasn't been saved before because it doesn't have an id, and performs the appropriate action - in this case issuing a POST request to the url we configured (/users). We configure any Proxy on any Model and always follow this API - see Ext.data.proxy.Proxy for a full list.

Loading data via the Proxy is equally easy:

//get a reference to the User model class
var User = Ext.ModelManager.getModel('User');

//Uses the configured RestProxy to make a GET request to /users/123
User.load(123, {
    success: function(user) {
        console.log(user.getId()); //logs 123
    }
});

Models can also be updated and destroyed easily:

//the user Model we loaded in the last snippet:
user.set('name', 'Edward Spencer');

//tells the Proxy to save the Model. In this case it will perform a PUT request to /users/123 as this Model already has an id
user.save({
    success: function() {
        console.log('The User was updated');
    }
});

//tells the Proxy to destroy the Model. Performs a DELETE request to /users/123
user.erase({
    success: function() {
        console.log('The User was destroyed!');
    }
});

Usage in Stores

It is very common to want to load a set of Model instances to be displayed and manipulated in the UI. We do this by creating a Store:

var store = Ext.create('Ext.data.Store', {
    model: 'User'
});

//uses the Proxy we set up on Model to load the Store data
store.load();

A Store is just a collection of Model instances - usually loaded from a server somewhere. Store can also maintain a set of added, updated and removed Model instances to be synchronized with the server via the Proxy. See the Store docs for more information on Stores.

Defined By

Config options

An array of associations for this model.

An array of associations for this model.

One or more BelongsTo associations for this model.

One or more BelongsTo associations for this model.

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

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

The name of a property that is used for submitting this Model's unique client-side identifier to the server when mult...

The name of a property that is used for submitting this Model's unique client-side identifier to the server when multiple phantom records are saved as part of the same Operation. In such a case, the server response should include the client id for each record so that the server response data can be used to update the client-side records if necessary. This property cannot have the same name as any of this Model's fields.

Defaults to: 'clientId'

Ext.data.Model
view source
: Objectprivate
Ext.data.Model
view source
: Object[]/String[]
The field definitions for all instances of this Model. ...

The field definitions for all instances of this Model.

Note: this does not set the values of each field on an instance, it sets the collection of fields itself.

Sample usage:

Ext.define('MyApp.model.User', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            'id',
            {name: 'age', type: 'int'},
            {name: 'taxRate', type: 'float'}
        ]
    }
});

One or more HasMany associations for this model.

One or more HasMany associations for this model.

One or more HasOne associations for this model.

One or more HasOne associations for this model.

The name of the field treated as this Model's unique id. ...

The name of the field treated as this Model's unique id. Note that this field needs to have a type of 'auto'. Setting the field type to anything else will be undone by the framework. This is because new records that are created without an id, will have one generated.

Defaults to: 'id'

The identifier strategy used when creating new instances of this Model that don't have an id defined. ...

The identifier strategy used when creating new instances of this Model that don't have an id defined. By default this uses the simple identifier strategy that generates id's like 'ext-record-12'. If you are saving these records in localstorage using a LocalStorage proxy you need to ensure that this identifier strategy is set to something that always generates unique id's. We provide one strategy by default that generates these unique id's which is the Ext.data.identifier.Uuid strategy.

Defaults to: {type: 'simple'}

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

The string type of the default Model Proxy.

The string type of the default Model Proxy.

Change this to false if you want to ensure that new instances are created for each id. ...

Change this to false if you want to ensure that new instances are created for each id. For example, this is needed when adding the same tree nodes to multiple trees.

Defaults to: true

Ext.data.Model
view source
: Object[]

An array of validations for this model.

An array of validations for this model.

Properties

Defined By

Instance properties

The associations defined on this model.

The associations defined on this model.

Ext.data.Model
view source
: Booleanreadonly
true if this Record has been modified. ...

true if this Record has been modified.

Defaults to: false

Ext.data.Model
view source
: Booleanreadonly
Internal flag used to track whether or not the model instance is currently being edited. ...

Internal flag used to track whether or not the model instance is currently being edited.

Defaults to: false

The fields defined on this model.

The fields defined on this model.

...

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

Ext.data.Model
view source
: Booleanprivate
Provides an easy way to quickly determine if a given class is a Model ...

Provides an easy way to quickly determine if a given class is a Model

Defaults to: true

...

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

...

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

Overrides: Ext.mixin.Sortable.mixinConfig

...

Defaults to: 'identifiable'

Ext.data.Model
view source
: Object
key/value pairs of all fields whose values have changed. ...

key/value pairs of all fields whose values have changed. The value is the original value for the field.

Defaults to: {}

...

Defaults to: 'observable'

Ext.data.Model
view source
: Boolean
true when the record does not yet exist in a server-side database (see setDirty). ...

true when the record does not yet exist in a server-side database (see setDirty). Any record which has a real database pk set as its id property is NOT a phantom -- it's real.

Defaults to: false

Ext.data.Model
view source
: Object

The raw data used to create this model if created via a reader.

The raw data used to create this model if created via a reader.

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'
Ext.data.Model
view source
: Arrayprivate
...

Defaults to: ['idProperty', 'fields', 'validations', 'associations', 'hasMany', 'hasOne', 'belongsTo', 'clientIdProperty', 'identifier', 'useCache', 'proxy']

Ext.data.Model
view source
: Array
An array of Ext.data.Store objects that this record is bound to. ...

An array of Ext.data.Store objects that this record is bound to.

Defaults to: []

...

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

The validations defined on this model.

The validations defined on this model.

Defined By

Static properties

...

Defaults to: []

Ext.data.Model
view source
: Stringprivatestatic
...

Defaults to: 'commit'

Ext.data.Model
view source
: Stringprivatestatic
...

Defaults to: 'edit'

Ext.data.Model
view source
: Stringprivatestatic
...

Defaults to: 'reject'

Ext.data.Model
view source
: Objectprivatestatic
...

Defaults to: {}

Methods

Defined By

Instance methods

Ext.data.Model
view source
new( data, [id], [raw], [convertedData] ) : Ext.data.Model
Creates new Model instance. ...

Creates new Model instance.

Parameters

  • data : Object

    An object containing keys corresponding to this model's fields, and their associated values.

  • id : Number (optional)

    Unique ID to assign to this model instance.

  • raw : Object (optional)
  • convertedData : Object (optional)

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

      Ext.data.Model
      view source
      ( associations, defaultType )private
      ...

      Parameters

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

            Ext.data.Model
            view source
            ( validations )private
            ...

            Parameters

            Ext.data.Model
            view source
            ( modified )private
            If this Model instance has been joined to a store, the store's afterCommit method is called. ...

            If this Model instance has been joined to a store, the store's afterCommit method is called.

            Parameters

            Fires

              Ext.data.Model
              view source
              ( modifiedFieldNames, modified )private
              If this Model instance has been joined to a store, the store's afterEdit method is called. ...

              If this Model instance has been joined to a store, the store's afterEdit method is called.

              Parameters

              • modifiedFieldNames : String[]

                Array of field names changed during edit.

              • modified : Object

              Fires

                Ext.data.Model
                view source
                ( )private
                If this Model instance has been joined to a store, the store's afterReject method is called. ...

                If this Model instance has been joined to a store, the store's afterReject method is called.

                Fires

                  Ext.data.Model
                  view source
                  ( associations )private
                  ...

                  Parameters

                  Fires

                    Ext.data.Model
                    view source
                    ( belongsTo )private
                    ...

                    Parameters

                    Fires

                      ...

                      Parameters

                      Fires

                        Ext.data.Model
                        view source
                        ( hasMany )private
                        ...

                        Parameters

                        Fires

                          Ext.data.Model
                          view source
                          ( hasOne )private
                          ...

                          Parameters

                          Fires

                            Ext.data.Model
                            view source
                            ( identifier )private
                            ...

                            Parameters

                            Fires

                              ...

                              Parameters

                              Fires

                                Ext.data.Model
                                view source
                                ( proxy, currentProxy )private
                                ...

                                Parameters

                                Ext.data.Model
                                view source
                                ( validations )private
                                ...

                                Parameters

                                Fires

                                  Ext.data.Model
                                  view source
                                  ( )
                                  Begins an edit. ...

                                  Begins an edit. While in edit mode, no events (e.g. the update event) are relayed to the containing store. When an edit has begun, it must be followed by either endEdit or cancelEdit.

                                  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

                                  Ext.data.Model
                                  view source
                                  ( )
                                  Cancels all changes made in the current edit operation. ...

                                  Cancels all changes made in the current edit operation.

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

                                  Parameters

                                  Returns

                                  Ext.data.Model
                                  view source
                                  ( ) : Booleanprivate
                                  Checks if the underlying data has changed during an edit. ...

                                  Checks if the underlying data has changed during an edit. This doesn't necessarily mean the record is dirty, however we still need to notify the store since it may need to update any views.

                                  Returns

                                  • Boolean

                                    true if the underlying data has changed during an edit.

                                  Fires

                                    Removes all listeners for this object. ...

                                    Removes all listeners for this object.

                                    Fires

                                      ...

                                      Parameters

                                      Fires

                                        Ext.data.Model
                                        view source
                                        ( [silent] )
                                        Usually called by the Ext.data.Store which owns the model instance. ...

                                        Usually called by the Ext.data.Store which owns the model instance. Commits all changes made to the instance since either creation or the last commit operation.

                                        Developers should subscribe to the Ext.data.Store.update event to have their code notified of commit operations.

                                        Parameters

                                        • silent : Boolean (optional)

                                          true to skip notification of the owning store of the change.

                                          Defaults to: false

                                        Fires

                                          Ext.data.Model
                                          view source
                                          ( id ) : Ext.data.Model
                                          Creates a copy (clone) of this Model instance. ...

                                          Creates a copy (clone) of this Model instance.

                                          Parameters

                                          • id : String

                                            A new id. If you don't specify this a new id will be generated for you. To generate a phantom instance with a new id use:

                                            var rec = record.copy(); // clone the record with a new id
                                            

                                          Returns

                                          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

                                                Ext.data.Model
                                                view source
                                                ( )
                                                Destroys this model instance. ...

                                                Destroys this model instance. Note that this doesn't do a 'destroy' operation. If you want to destroy the record in your localStorage or on the server you should use the erase method.

                                                Fires

                                                  Overrides: Ext.mixin.Observable.destroy

                                                  ( 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

                                                          Ext.data.Model
                                                          view source
                                                          ( silent, modifiedFieldNames )
                                                          Ends an edit. ...

                                                          Ends an edit. If any data was modified, the containing store is notified (ie, the store's update event will fire).

                                                          Parameters

                                                          • silent : Boolean

                                                            true to not notify the store of the change.

                                                          • modifiedFieldNames : String[]

                                                            Array of field names changed during edit.

                                                          Fires

                                                            Ext.data.Model
                                                            view source
                                                            ( options, scope ) : Ext.data.Model
                                                            Destroys the record using the configured proxy. ...

                                                            Destroys the record using the configured proxy. This will create a 'destroy' operation. Note that this doesn't destroy this instance after the server comes back with a response. It will however call afterErase on any Stores it is joined to. Stores by default will automatically remove this instance from their data collection.

                                                            Parameters

                                                            • options : Object/Function

                                                              Options to pass to the proxy. Config object for Ext.data.Operation. If you pass a function, this will automatically become the callback method. For convenience the config object may also contain success and failure methods in addition to callback - they will all be invoked with the Model and Operation as arguments.

                                                            • scope : Object

                                                              The scope to run your callback method in. This is only used if you passed a function as the first argument.

                                                            Returns

                                                            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

                                                                  Ext.data.Model
                                                                  view source
                                                                  ( fieldName ) : Object
                                                                  Returns the value of the given field. ...

                                                                  Returns the value of the given field.

                                                                  Parameters

                                                                  • fieldName : String

                                                                    The field to fetch the value for.

                                                                  Returns

                                                                  Gets all of the data from this Models loaded associations. ...

                                                                  Gets all of the data from this Models loaded associations. It does this recursively - for example if we have a User which hasMany Orders, and each Order hasMany OrderItems, it will return an object like this:

                                                                  {
                                                                      orders: [
                                                                          {
                                                                              id: 123,
                                                                              status: 'shipped',
                                                                              orderItems: [
                                                                                  // ...
                                                                              ]
                                                                          }
                                                                      ]
                                                                  }
                                                                  

                                                                  Returns

                                                                  • Object

                                                                    The nested data set for the Model's loaded associations.

                                                                  Fires

                                                                    Ext.data.Model
                                                                    view source
                                                                    ( ) : Object[]
                                                                    Returns the value of associations. ...

                                                                    Returns the value of associations.

                                                                    Returns

                                                                    Returns the value of belongsTo. ...

                                                                    Returns the value of belongsTo.

                                                                    Returns

                                                                    Returns the value of bubbleEvents. ...

                                                                    Returns the value of bubbleEvents.

                                                                    Returns

                                                                    Ext.data.Model
                                                                    view source
                                                                    ( ) : Object
                                                                    Gets a hash of only the fields that have been modified since this Model was created or committed. ...

                                                                    Gets a hash of only the fields that have been modified since this Model was created or committed.

                                                                    Returns

                                                                    Fires

                                                                      Returns the value of clientIdProperty. ...

                                                                      Returns the value of clientIdProperty.

                                                                      Returns

                                                                      ...

                                                                      Parameters

                                                                      Ext.data.Model
                                                                      view source
                                                                      ( includeAssociated ) : Object
                                                                      Returns an object containing the data set on this record. ...

                                                                      Returns an object containing the data set on this record. This method also allows you to retrieve all the associated data. Note that if you should always use this method if you need all the associated data, since the data property on the record instance is not ensured to be updated at all times.

                                                                      Parameters

                                                                      • includeAssociated : Boolean

                                                                        true to include the associated data.

                                                                      Returns

                                                                      Fires

                                                                        Ext.data.Model
                                                                        view source
                                                                        ( field ) : Stringprivate
                                                                        This method is used by the fields collection to retrieve the key for a field based on it's name. ...

                                                                        This method is used by the fields collection to retrieve the key for a field based on it's name.

                                                                        Parameters

                                                                        Returns

                                                                        Ext.data.Model
                                                                        view source
                                                                        ( ) : Object[]/String[]
                                                                        Returns the value of fields. ...

                                                                        Returns the value of fields.

                                                                        Returns

                                                                        Returns the value of hasMany. ...

                                                                        Returns the value of hasMany.

                                                                        Returns

                                                                        Returns the value of hasOne. ...

                                                                        Returns the value of hasOne.

                                                                        Returns

                                                                        Ext.data.Model
                                                                        view source
                                                                        ( ) : Number/String
                                                                        Returns the unique ID allocated to this model instance as defined by idProperty. ...

                                                                        Returns the unique ID allocated to this model instance as defined by idProperty.

                                                                        Returns

                                                                        Fires

                                                                          Overrides: Ext.mixin.Identifiable.getId

                                                                          Ext.data.Model
                                                                          view source
                                                                          ( ) : String
                                                                          Returns the value of idProperty. ...

                                                                          Returns the value of idProperty.

                                                                          Returns

                                                                          Returns the value of identifier. ...

                                                                          Returns the value of identifier.

                                                                          Returns

                                                                          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

                                                                          Ext.data.Model
                                                                          view source
                                                                          ( )
                                                                          Returns true if the record has been erased on the server. ...

                                                                          Returns true if the record has been erased on the server.

                                                                          Returns the value of listeners. ...

                                                                          Returns the value of listeners.

                                                                          Returns

                                                                          ...

                                                                          Parameters

                                                                          Returns the value of proxy. ...

                                                                          Returns the value of proxy.

                                                                          Returns

                                                                          Ext.data.Model
                                                                          view source
                                                                          ( ) : Boolean
                                                                          Returns the value of useCache. ...

                                                                          Returns the value of useCache.

                                                                          Returns

                                                                          Ext.data.Model
                                                                          view source
                                                                          ( ) : Object[]
                                                                          Returns the value of validations. ...

                                                                          Returns the value of validations.

                                                                          Returns

                                                                          Ext.data.Model
                                                                          view source
                                                                          ( data )private
                                                                          ...

                                                                          Parameters

                                                                          ...

                                                                          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.data.Model
                                                                              view source
                                                                              ( a, b ) : Booleanprivate
                                                                              Checks if two values are equal, taking into account certain special factors, for example dates. ...

                                                                              Checks if two values are equal, taking into account certain special factors, for example dates.

                                                                              Parameters

                                                                              Returns

                                                                              • Boolean

                                                                                true if the values are equal.

                                                                              Ext.data.Model
                                                                              view source
                                                                              ( fieldName ) : Boolean
                                                                              Returns true if the passed field name has been modified since the load or last commit. ...

                                                                              Returns true if the passed field name has been modified since the load or last commit.

                                                                              Parameters

                                                                              Returns

                                                                              Ext.data.Model
                                                                              view source
                                                                              ( ) : Boolean
                                                                              Checks if the model is valid. ...

                                                                              Checks if the model is valid. See validate.

                                                                              Returns

                                                                              • Boolean

                                                                                true if the model is valid.

                                                                              Fires

                                                                                Ext.data.Model
                                                                                view source
                                                                                ( store )
                                                                                By joining this model to an instance of a class, this model will automatically try to call certain template methods o...

                                                                                By joining this model to an instance of a class, this model will automatically try to call certain template methods on that instance (afterEdit, afterCommit, Ext.data.Store.afterErase). For example, a Store calls join and unjoin whenever you add or remove a record to it's data collection. This way a Store can get notified of any changes made to this record. This functionality is usually only required when creating custom components.

                                                                                Parameters

                                                                                Ext.data.Model
                                                                                view source
                                                                                ( )private
                                                                                ...

                                                                                Ext.data.Model
                                                                                view source
                                                                                ( data ) : Ext.data.Modelchainableprivate
                                                                                Private function that is used when you create a record that already exists in the model cache. ...

                                                                                Private function that is used when you create a record that already exists in the model cache. In this case we loop over each field, and apply any data to the current instance that is not already marked as being dirty on that instance.

                                                                                Parameters

                                                                                Returns

                                                                                Fires

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

                                                                                  Ext.data.Model
                                                                                  view source
                                                                                  ( fn )private
                                                                                  Helper function used by afterEdit, afterReject, and afterCommit. ...

                                                                                  Helper function used by afterEdit, afterReject, and afterCommit. Calls the given method on the store that this instance has joined, if any. The store function will always be called with the model instance as its single argument.

                                                                                  Parameters

                                                                                  • fn : String

                                                                                    The function to call on the store.

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

                                                                                  Ext.data.Model
                                                                                  view source
                                                                                  ( cls, data, hooks )private
                                                                                  ...

                                                                                  Parameters

                                                                                  Fires

                                                                                    Overrides: Ext.mixin.Mixin.onClassExtended

                                                                                    ( names, callback, scope )private
                                                                                    ...

                                                                                    Parameters

                                                                                    Ext.data.Model
                                                                                    view source
                                                                                    ( record, ids, [associationType] ) : Objectprivate
                                                                                    This complex-looking method takes a given Model instance and returns an object containing all data from all of that M...

                                                                                    This complex-looking method takes a given Model instance and returns an object containing all data from all of that Model's loaded associations. See getAssociatedData

                                                                                    Parameters

                                                                                    • record : Ext.data.Model

                                                                                      The Model instance

                                                                                    • ids : String[]

                                                                                      PRIVATE. The set of Model instance internalIds that have already been loaded

                                                                                    • associationType : String (optional)

                                                                                      The name of the type of association to limit to.

                                                                                    Returns

                                                                                    • Object

                                                                                      The nested data set for the Model's loaded associations.

                                                                                    Fires

                                                                                      Ext.data.Model
                                                                                      view source
                                                                                      ( [silent] )
                                                                                      Usually called by the Ext.data.Store to which this model instance has been joined. ...

                                                                                      Usually called by the Ext.data.Store to which this model instance has been joined. Rejects all changes made to the model instance since either creation, or the last commit operation. Modified fields are reverted to their original values.

                                                                                      Developers should subscribe to the Ext.data.Store.update event to have their code notified of reject operations.

                                                                                      Parameters

                                                                                      • silent : Boolean (optional)

                                                                                        true to skip notification of the owning store of the change.

                                                                                        Defaults to: false

                                                                                      Fires

                                                                                        ( 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.data.Model
                                                                                                    view source
                                                                                                    ( [options], [scope] ) : Ext.data.Model
                                                                                                    Saves the model instance using the configured proxy. ...

                                                                                                    Saves the model instance using the configured proxy.

                                                                                                    Parameters

                                                                                                    • options : Object/Function (optional)

                                                                                                      Options to pass to the proxy. Config object for Ext.data.Operation. If you pass a function, this will automatically become the callback method. For convenience the config object may also contain success and failure methods in addition to callback - they will all be invoked with the Model and Operation as arguments.

                                                                                                    • scope : Object (optional)

                                                                                                      The scope to run your callback method in. This is only used if you passed a function as the first argument.

                                                                                                    Returns

                                                                                                    Fires

                                                                                                      Ext.data.Model
                                                                                                      view source
                                                                                                      ( fieldName, value )
                                                                                                      Sets the given field to the given value, marks the instance as dirty. ...

                                                                                                      Sets the given field to the given value, marks the instance as dirty.

                                                                                                      Parameters

                                                                                                      • fieldName : String/Object

                                                                                                        The field to set, or an object containing key/value pairs.

                                                                                                      • value : Object

                                                                                                        The value to set.

                                                                                                      Fires

                                                                                                        Ext.data.Model
                                                                                                        view source
                                                                                                        ( associations )
                                                                                                        Sets the value of associations. ...

                                                                                                        Sets the value of associations.

                                                                                                        Parameters

                                                                                                        Ext.data.Model
                                                                                                        view source
                                                                                                        ( belongsTo )
                                                                                                        Sets the value of belongsTo. ...

                                                                                                        Sets the value of belongsTo.

                                                                                                        Parameters

                                                                                                        Sets the value of bubbleEvents. ...

                                                                                                        Sets the value of bubbleEvents.

                                                                                                        Parameters

                                                                                                        Ext.data.Model
                                                                                                        view source
                                                                                                        ( clientIdProperty )
                                                                                                        Sets the value of clientIdProperty. ...

                                                                                                        Sets the value of clientIdProperty.

                                                                                                        Parameters

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

                                                                                                        Parameters

                                                                                                        Returns

                                                                                                        Ext.data.Model
                                                                                                        view source
                                                                                                        ( data ) : Ext.data.Modelchainable
                                                                                                        This sets the data directly without converting and applying default values. ...

                                                                                                        This sets the data directly without converting and applying default values. This method is used when a Record gets instantiated by a Reader. Only use this when you are sure you are passing correctly converted data.

                                                                                                        Parameters

                                                                                                        Returns

                                                                                                        Ext.data.Model
                                                                                                        view source
                                                                                                        ( rawData ) : Ext.data.Model
                                                                                                        This method is used to set the data for this Record instance. ...

                                                                                                        This method is used to set the data for this Record instance. Note that the existing data is removed. If a field is not specified in the passed data it will use the field's default value. If a convert method is specified for the field it will be called on the value.

                                                                                                        Parameters

                                                                                                        Returns

                                                                                                        Fires

                                                                                                          Ext.data.Model
                                                                                                          view source
                                                                                                          ( )
                                                                                                          Marks this Record as dirty. ...

                                                                                                          Marks this Record as dirty. This method is used internally when adding phantom records to a writer enabled store.

                                                                                                          Marking a record dirty causes the phantom to be returned by Ext.data.Store.getUpdatedRecords where it will have a create action composed for it during model save operations.

                                                                                                          Fires

                                                                                                            Ext.data.Model
                                                                                                            view source
                                                                                                            ( ) : Array
                                                                                                            Updates the collection of Fields that all instances of this Model use. ...

                                                                                                            Updates the collection of Fields that all instances of this Model use. Does not update field values in a Model instance (use set for that), instead this updates which fields are available on the Model class. This is normally used when creating or updating Model definitions dynamically, for example if you allow your users to define their own Models and save the fields configuration to a database, this method allows you to change those fields later.

                                                                                                            Returns

                                                                                                            Ext.data.Model
                                                                                                            view source
                                                                                                            ( hasMany )
                                                                                                            Sets the value of hasMany. ...

                                                                                                            Sets the value of hasMany.

                                                                                                            Parameters

                                                                                                            Ext.data.Model
                                                                                                            view source
                                                                                                            ( hasOne )
                                                                                                            Sets the value of hasOne. ...

                                                                                                            Sets the value of hasOne.

                                                                                                            Parameters

                                                                                                            Ext.data.Model
                                                                                                            view source
                                                                                                            ( id )
                                                                                                            Sets the model instance's id field to the given id. ...

                                                                                                            Sets the model instance's id field to the given id.

                                                                                                            Parameters

                                                                                                            Fires

                                                                                                              Overrides: Ext.mixin.Identifiable.setId

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( idProperty )
                                                                                                              Sets the value of idProperty. ...

                                                                                                              Sets the value of idProperty.

                                                                                                              Parameters

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( identifier )
                                                                                                              Sets the value of identifier. ...

                                                                                                              Sets the value of identifier.

                                                                                                              Parameters

                                                                                                              Sets the value of listeners. ...

                                                                                                              Sets the value of listeners.

                                                                                                              Parameters

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( proxy )
                                                                                                              Sets the value of proxy. ...

                                                                                                              Sets the value of proxy.

                                                                                                              Parameters

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( useCache )
                                                                                                              Sets the value of useCache. ...

                                                                                                              Sets the value of useCache.

                                                                                                              Parameters

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( validations )
                                                                                                              Sets the value of validations. ...

                                                                                                              Sets the value of validations.

                                                                                                              Parameters

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( field1, field2 ) : Numberprivate
                                                                                                              This method is being used to sort the fields based on their convert method. ...

                                                                                                              This method is being used to sort the fields based on their convert method. If a field has a custom convert method, we ensure its more to the bottom of the collection.

                                                                                                              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++;
                                                                                                                  },
                                                                                                              
                                                                                                                  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

                                                                                                              Ext.data.Model
                                                                                                              view source
                                                                                                              ( ) : String
                                                                                                              Returns a url-suitable string for this model instance. ...

                                                                                                              Returns a url-suitable string for this model instance. By default this just returns the name of the Model class followed by the instance ID - for example an instance of MyApp.model.User with ID 123 will return 'user/123'.

                                                                                                              Returns

                                                                                                              • String

                                                                                                                The url string for this model instance.

                                                                                                              Fires

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

                                                                                                                  Ext.data.Model
                                                                                                                  view source
                                                                                                                  ( store )
                                                                                                                  This un-joins this record from an instance of a class. ...

                                                                                                                  This un-joins this record from an instance of a class. Look at the documentation for join for more information about joining records to class instances.

                                                                                                                  Parameters

                                                                                                                  • store : Ext.data.Store

                                                                                                                    The store from which this model has been removed.

                                                                                                                  Ext.data.Model
                                                                                                                  view source
                                                                                                                  ( fields )private
                                                                                                                  ...

                                                                                                                  Parameters

                                                                                                                  Fires

                                                                                                                    Ext.data.Model
                                                                                                                    view source
                                                                                                                    ( proxy )private
                                                                                                                    ...

                                                                                                                    Parameters

                                                                                                                    Validates the current data against all of its configured validations. ...

                                                                                                                    Validates the current data against all of its configured validations.

                                                                                                                    Returns

                                                                                                                    Fires

                                                                                                                      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

                                                                                                                      Ext.data.Model
                                                                                                                      view source
                                                                                                                      ( record, id )privatestatic
                                                                                                                      ...

                                                                                                                      Parameters

                                                                                                                      Ext.data.Model
                                                                                                                      view source
                                                                                                                      ( name )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

                                                                                                                      ...
                                                                                                                      Ext.data.Model
                                                                                                                      view source
                                                                                                                      ( id, [config], [scope] )static
                                                                                                                      Asynchronously loads a model instance by id. ...

                                                                                                                      Asynchronously loads a model instance by id. Sample usage:

                                                                                                                      MyApp.User = Ext.define('User', {
                                                                                                                          extend: 'Ext.data.Model',
                                                                                                                          fields: [
                                                                                                                              {name: 'id', type: 'int'},
                                                                                                                              {name: 'name', type: 'string'}
                                                                                                                          ]
                                                                                                                      });
                                                                                                                      
                                                                                                                      MyApp.User.load(10, {
                                                                                                                          scope: this,
                                                                                                                          failure: function(record, operation) {
                                                                                                                              //do something if the load failed
                                                                                                                          },
                                                                                                                          success: function(record, operation) {
                                                                                                                              //do something if the load succeeded
                                                                                                                          },
                                                                                                                          callback: function(record, operation) {
                                                                                                                              //do something whether the load succeeded or failed
                                                                                                                          }
                                                                                                                      });
                                                                                                                      

                                                                                                                      Parameters

                                                                                                                      • id : Number

                                                                                                                        The id of the model to load

                                                                                                                      • config : Object (optional)

                                                                                                                        Config object containing fields:

                                                                                                                        • success : Function

                                                                                                                          Called on success.

                                                                                                                        • failure : Function

                                                                                                                          Called on failure.

                                                                                                                        • callback : Function

                                                                                                                          Called after load.

                                                                                                                        • scope : Object

                                                                                                                          Value of this in the above functions.

                                                                                                                      • scope : Object (optional)

                                                                                                                        Same as config.scope.

                                                                                                                      ( 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