X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6e39d509471fe9b4e2660e0d1631b350d0c66f40..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/docs/api/Ext.data.AbstractStore.html diff --git a/docs/api/Ext.data.AbstractStore.html b/docs/api/Ext.data.AbstractStore.html new file mode 100644 index 00000000..acde3dba --- /dev/null +++ b/docs/api/Ext.data.AbstractStore.html @@ -0,0 +1,565 @@ +
Mixins
AbstractStore is a superclass of Ext.data.Store and Ext.data.TreeStore. It's never used directly, +but offers a set of methods used by both of those subclasses.
+ + + + +We've left it here in the docs for reference purposes, but unless you need to make a whole new type of Store, what +you're probably looking for is Ext.data.Store. If you're still interested, here's a brief description of what +AbstractStore is and is not.
+ + + + +AbstractStore provides the basic configuration for anything that can be considered a Store. It expects to be +given a Model that represents the type of data in the Store. It also expects to be given a +Proxy that handles the loading of data into the Store.
+ + + + +AbstractStore provides a few helpful methods such as load and sync, which load and save data +respectively, passing the requests through the configured proxy. Both built-in Store subclasses add extra +behavior to each of these functions. Note also that each AbstractStore subclass has its own way of storing data - +in Ext.data.Store the data is saved as a flat MixedCollection, whereas in +TreeStore we use a Ext.data.Tree to maintain the data's hierarchy.
+ + +TODO: Update these docs to explain about the sortable and filterable mixins.
+ +Finally, AbstractStore provides an API for sorting and filtering data via its sorters and filters +MixedCollections. Although this functionality is provided by AbstractStore, there's a +good description of how to use it in the introduction of Ext.data.Store. + +
If data is not specified, and if autoLoad is true or an Object, this store's load method +is automatically called after creation. If the value of autoLoad is an Object, this Object will be passed to the store's +load method. Defaults to false.
+True to automatically sync the Store with its Proxy after every edit to one of its Records. +Defaults to false.
+True to automatically sync the Store with its Proxy after every edit to one of its Records. +Defaults to false.
+This may be used in place of specifying a model configuration. The fields should be a +set of Ext.data.Field configuration objects. The store will automatically create a Ext.data.Model +with these fields. In general this configuration option should be avoided, it exists for the purposes of +backwards compatibility. For anything more complicated, such as specifying a particular id property or +assocations, a Ext.data.Model should be defined and specified for the model config.
+(optional)
A config object containing one or more event handlers to be added to this +object during initialization. This should be a valid listeners config object as specified in the +addListener example for attaching multiple handlers at once.
+ +DOM events from ExtJs Components
+ + +While some ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this + + +
is usually only done when extra value can be added. For example the DataView's
+click
event passing the node clicked on. To access DOM
+events directly from a child element of a Component, we need to specify the element
option to
+identify the Component property to add a DOM listener to:
new Ext.panel.Panel({
+ width: 400,
+ height: 200,
+ dockedItems: [{
+ xtype: 'toolbar'
+ }],
+ listeners: {
+ click: {
+ element: 'el', //bind to the underlying el property on the panel
+ fn: function(){ console.log('click el'); }
+ },
+ dblclick: {
+ element: 'body', //bind to the underlying body property on the panel
+ fn: function(){ console.log('dblclick body'); }
+ }
+ }
+});
+
+
+
+
+The Proxy to use for this Store. This can be either a string, a config +object or a Proxy instance - see setProxy for details.
+Optional unique identifier for this store. If present, this Store will be registered with +the Ext.data.StoreManager, making it easy to reuse elsewhere. Defaults to undefined.
+Sets the updating behavior based on batch synchronization. 'operation' (the default) will update the Store's +internal representation of the data after each operation of the batch has completed, 'complete' will wait until +the entire batch has been completed before updating the Store's data. 'complete' is a good choice for local +storage proxies, 'operation' is better for remote proxies, where there is a comparatively high latency.
+The string type of the Proxy to create if none is specified. This defaults to creating a memory proxy.
+The string type of the Proxy to create if none is specified. This defaults to creating a memory proxy.
+The default sort direction to use if one is not specified (defaults to "ASC")
+The default sort direction to use if one is not specified (defaults to "ASC")
+If true, any filters attached to this Store will be run after loading data, before the datachanged event is fired. +Defaults to true, ignored if remoteFilter is true
+True if the Store has already been destroyed via destroyStore. If this is true, the reference to Store should be deleted +as it will not function correctly any more.
+Flag denoting that this object is sortable. Always true.
+Flag denoting that this object is sortable. Always true.
+Removes all records from the store. This method does a "fast remove", +individual remove events are not called. The clear event is +fired upon completion.
+If true, any sorters attached to this Store will be run after loading data, before the datachanged event is fired. +Defaults to true, igored if remoteSort is true
+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.
+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.
[additional] Optional additional event names if multiple event names are being passed as separate parameters. +Usage:
+ +this.addEvents('storeloaded', 'storecleared');
+
+
+Appends an event handler to this object.
+Appends an event handler to this object.
+The name of the event to listen for. May also be an object who's property names are event names. See
+The method the event invokes.
+(optional) The scope (this
reference) in which the handler function is executed.
+If omitted, defaults to the object which fired the event.
(optional) An object containing handler configuration. +properties. This may contain any of the following properties:
this
reference) in which the handler function is executed.
+If omitted, defaults to the object which fired the event.This option is useful during Component construction to add DOM event listeners to elements of Components which +will exist only after the Component is rendered. For example, to add a click listener to a Panel's body: +
new Ext.panel.Panel({
+ title: 'The title',
+ listeners: {
+ click: this.handlePanelClick,
+ element: 'body'
+ }
+});
+
+
+
+When added in this way, the options available are the options applicable to Ext.core.Element.addListener
+ + +
+Combining Options
+Using the options argument, it is possible to combine different types of listeners:
+
+A delayed, one-time listener.
+
myPanel.on('hide', this.handleClick, this, {
+single: true,
+delay: 100
+});
+
+Attaching multiple handlers in 1 call
+The method also allows for a single argument to be passed which is a config object containing properties
+which specify multiple events. For example:
+
myGridPanel.on({
+ cellClick: this.onCellClick,
+ mouseover: this.onMouseOver,
+ mouseout: this.onMouseOut,
+ scope: this // Important. Ensure "this" is correct during handler execution
+});
+
.
++ +
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. + +
The item to which to add a listener/listeners.
+The event name, or an object containing event name properties.
+Optional. If the ename
parameter was an event name, this
+is the handler function.
Optional. If the ename
parameter was an event name, this
+is the scope (this
reference) in which the handler function is executed.
Optional. If the ename
parameter was an event name, this
+is the addListener options.
Starts capture on the specified Observable. All events will be passed +to the supplied function with the event name + standard signature of the event +before the event is fired. If the supplied function returns false, +the event will not fire.
+The Observable to capture events from.
+The function to call when an event is fired.
+(optional) The scope (this
reference) in which the function is executed. Defaults to the Observable firing the event.
Removes all listeners for this object including the managed listeners
+Removes all listeners for this object including the managed listeners
+Removes all managed listeners for this object.
+Removes all managed listeners for this object.
+Enables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget()
if present. There is no implementation in the Observable base class.
This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default +implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to +access the required target more quickly.
+ + +Example:
+ + +Ext.override(Ext.form.field.Base, {
+// Add functionality to Field's initComponent to enable the change event to bubble
+initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
+ this.enableBubble('change');
+}),
+
+// We know that we want Field's events to bubble directly to the FormPanel.
+getBubbleTarget : function() {
+ if (!this.formPanel) {
+ this.formPanel = this.findParentByType('form');
+ }
+ return this.formPanel;
+}
+});
+
+var myForm = new Ext.formPanel({
+title: 'User Details',
+items: [{
+ ...
+}],
+listeners: {
+ change: function() {
+ // Title goes red if form has been modified.
+ myForm.header.setStyle('color', 'red');
+ }
+}
+});
+
+
+The event name to bubble, or an Array of event names.
+Fires the specified event with the passed parameters (minus the event name).
+ + +An event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget) +by calling enableBubble.
+ +The name of the event to fire.
+Variable number of parameters are passed to handlers.
+returns false if any of the handlers return false otherwise it returns true.
+Returns all Model instances that are either currently a phantom (e.g. have no id), or have an ID but have not +yet been saved on this Store (this happens when adding a non-phantom record from another Store into this one)
+The Model instances
+Returns the proxy currently attached to this proxy instance
+Returns the proxy currently attached to this proxy instance
+The Proxy instance
+Returns an object describing the current sort state of this Store.
+Returns an object describing the current sort state of this Store.
+The sort state of the Store. An object with two properties:
The name of the field by which the Records are sorted.
The sort order, 'ASC' or 'DESC' (case-sensitive).
Returns all Model instances that have been updated in the Store but not yet synchronized with the Proxy
+Returns all Model instances that have been updated in the Store but not yet synchronized with the Proxy
+The updated Model instances
+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
+The name of the event to check for
+True if the event is being listened for, else false
+Performs initialization of this mixin. Component classes using this mixin should call this method +during their own initialization.
+Returns true if the Store is currently performing a load operation
+Returns true if the Store is currently performing a load operation
+True if the Store is currently loading
+Loads the Store using its configured proxy.
+Loads the Store using its configured proxy.
+Optional config object. This is passed into the Operation +object that is created and then sent to the proxy's Ext.data.proxy.Proxy.read function
+Sets observability on the passed class constructor.
+ +This makes any event fired on any instance of the passed class also fire a single event through +the class allowing for central handling of events on many instances at once.
+ +Usage:
+ +Ext.util.Observable.observe(Ext.data.Connection);
+Ext.data.Connection.on('beforerequest', function(con, options) {
+ console.log('Ajax request made to ' + options.url);
+});
+
+The class constructor to make observable.
+An object containing a series of listeners to add. See addListener.
+Appends an event handler to this object (shorthand for addListener.)
+Appends an event handler to this object (shorthand for addListener.)
+The type of event to listen for
+The method the event invokes
+(optional) The scope (this
reference) in which the handler function is executed.
+If omitted, defaults to the object which fired the event.
(optional) An object containing handler configuration.
+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
.
The Observable whose events this object is to relay.
+Array of event names to relay.
+Removes all added captures from the Observable.
+Removes all added captures from the Observable.
+The Observable to release
+Removes an event handler.
+Removes an event handler.
+The type of event the handler was associated with.
+The handler to remove. This must be a reference to the function passed into the addListener call.
+(optional) The scope originally specified for the handler.
+Removes listeners that were added by the mon method.
+Removes listeners that were added by the mon method.
+The item from which to remove a listener/listeners.
+The event name, or an object containing event name properties.
+Optional. If the ename
parameter was an event name, this
+is the handler function.
Optional. If the ename
parameter was an event name, this
+is the scope (this
reference) in which the handler function is executed.
Resume firing events. (see suspendEvents)
+If events were suspended using the queueSuspended
parameter, then all
+events fired during event suspension will be sent to any listeners now.
Sets the Store's Proxy by string, config object or Proxy instance
+Sets the Store's Proxy by string, config object or Proxy instance
+The new Proxy, which can be either a type string, a configuration object +or an Ext.data.proxy.Proxy instance
+The attached Proxy object
+Sorts the data in the Store by one or more of its properties. Example usage:
+ + +//sort by a single field
+myStore.sort('myField', 'DESC');
+
+//sorting by multiple fields
+myStore.sort([
+ {
+ property : 'age',
+ direction: 'ASC'
+ },
+ {
+ property : 'name',
+ direction: 'DESC'
+ }
+]);
+
+
+
+Internally, Store converts the passed arguments into an array of Ext.util.Sorter instances, and delegates the actual +sorting to its internal Ext.util.MixedCollection.
+ + +When passing a single string argument to sort, Store maintains a ASC/DESC toggler per field, so this code:
+ + +store.sort('myField');
+store.sort('myField');
+
+
+
+Is equivalent to this code, because Store handles the toggling automatically:
+ + +store.sort('myField', 'ASC');
+store.sort('myField', 'DESC');
+
+
+Either a string name of one of the fields in this Store's configured Model, +or an Array of sorter configurations.
+The overall direction to sort the data by. Defaults to "ASC".
+Suspend the firing of all events. (see resumeEvents)
+Suspend the firing of all events. (see resumeEvents)
+Pass as true to queue up suspended events to be fired +after the resumeEvents call instead of discarding all suspended events;
+Synchronizes the Store with its Proxy. This asks the Proxy to batch together any new, updated +and deleted records in the store, updating the Store's internal representation of the records +as each operation completes.
+Removes an event handler (shorthand for removeListener.)
+Removes an event handler (shorthand for removeListener.)
+The type of event the handler was associated with.
+The handler to remove. This must be a reference to the function passed into the addListener call.
+(optional) The scope originally specified for the handler.
+Fired when a Model instance has been added to this Store
+Fired when a Model instance has been added to this Store
+The store
+The Model instances that were added
+The index at which the instances were inserted
+Event description
+Event description
+This Store
+The Ext.data.Operation object that will be passed to the Proxy to load the Store
+Fires whenever the records in the Store have changed in some way - this could include adding or removing records, +or updating the data in existing records
+The data store
+Fires whenever the store reads data from a remote data source.
+Fires whenever the store reads data from a remote data source.
+An array of records
+True if the operation was successful.
+Fired when a Model instance has been removed from this Store
+Fired when a Model instance has been removed from this Store
+The Store object
+The record that was removed
+The index of the record that was removed
+Fires when a Record has been updated
+Fires when a Record has been updated
+The Model instance that was updated
+The update operation being performed. Value may be one of:
+ + Ext.data.Model.EDIT
+ Ext.data.Model.REJECT
+ Ext.data.Model.COMMIT
+
+
+