X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..c8256059947f3aa8f5b0a9a2acf55e2142bb4742:/docs/output/Ext.data.DataWriter.html diff --git a/docs/output/Ext.data.DataWriter.html b/docs/output/Ext.data.DataWriter.html index b8166186..9d702c88 100644 --- a/docs/output/Ext.data.DataWriter.html +++ b/docs/output/Ext.data.DataWriter.html @@ -1,47 +1,91 @@ -
Package: | Ext.data |
Defined In: | DataWriter.js |
Class: | DataWriter |
Subclasses: | JsonWriter, XmlWriter |
Extends: | Object |
Ext.data.DataWriter facilitates create, update, and destroy actions between +
Package: | Ext.data |
Defined In: | DataWriter.js |
Class: | DataWriter |
Subclasses: | JsonWriter, XmlWriter |
Extends: | Object |
Ext.data.DataWriter facilitates create, update, and destroy actions between an Ext.data.Store and a server-side framework. A Writer enabled Store will automatically manage the Ajax requests to perform CRUD actions on a Store.
Ext.data.DataWriter is an abstract base class which is intended to be extended and should not be created directly. For existing implementations, see Ext.data.JsonWriter.
Creating a writer is simple:
-var writer = new Ext.data.JsonWriter();
+var writer = new Ext.data.JsonWriter({
+ encode: false // <--- false causes data to be printed to jsonData config-property of Ext.Ajax#reqeust
+});
+Same old JsonReader as Ext-2.x:
+var reader = new Ext.data.JsonReader({idProperty: 'id'}, [{name: 'first'}, {name: 'last'}, {name: 'email'}]);
The proxy for a writer enabled store can be configured with a simple url
:
// Create a standard HttpProxy instance.
var proxy = new Ext.data.HttpProxy({
- url: 'app.php/users'
+ url: 'app.php/users' // <--- Supports "provides"-type urls, such as '/users.json', '/products.xml' (Hello Rails/Merb)
});
-For finer grained control, the proxy may also be configured with an api
:
// Use the api specification
+For finer grained control, the proxy may also be configured with an API
:
+// Maximum flexibility with the API-configuration
var proxy = new Ext.data.HttpProxy({
api: {
read : 'app.php/users/read',
create : 'app.php/users/create',
update : 'app.php/users/update',
- destroy : 'app.php/users/destroy'
+ destroy : { // <--- Supports object-syntax as well
+ url: 'app.php/users/destroy',
+ method: "DELETE"
+ }
}
});
-Creating a Writer enabled store:
+Pulling it all together into a Writer-enabled Store:
+var store = new Ext.data.Store({
+ proxy: proxy,
+ reader: reader,
+ writer: writer,
+ autoLoad: true,
+ autoSave: true // -- Cell-level updates.
+});
+Initiating write-actions automatically, using the existing Ext2.0 Store/Record API:
+var rec = store.getAt(0);
+rec.set('email', 'foo@bar.com'); // <--- Immediately initiates an UPDATE action through configured proxy.
+
+store.remove(rec); // <---- Immediately initiates a DESTROY action through configured proxy.
+For record/batch updates, use the Store-configuration autoSave:false
var store = new Ext.data.Store({
proxy: proxy,
reader: reader,
- writer: writer
-});
Config Options | Defined By | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
createRecord : Function Abstract method that should be implemented in all subclasses
+ writer: writer,
+ autoLoad: true,
+ autoSave: false // -- disable cell-updates
+});
+
+var urec = store.getAt(0);
+urec.set('email', 'foo@bar.com');
+
+var drec = store.getAt(1);
+store.remove(drec);
+
+// Push the button!
+store.save(); Config Options
Public PropertiesThis class has no public properties. Public Methods
Public PropertiesThis class has no public properties. Public Methods
Public EventsThis class has no public events.
\ No newline at end of file
+The data-object provided to render is populated with data according to the meta-info defined in the user's DataReader config,Parameters:
| DataWriter | |||||||||||||||||||||||||||||||||||||||||||||||||
toArray( Hash data )
+ :
+ [Object]Converts a Hashed Ext.data.Record to fields-array array suitable
+for encoding to xml via XTemplate, eg:
+<tpl for="... Converts a Hashed Ext.data.Record to fields-array array suitable
+for encoding to xml via XTemplate, eg:
+
+eg, non-phantom:
+
+Phantom records will have had their idProperty omitted in toHash if determined to be auto-generated.
+Non AUTOINCREMENT pks should have been protected.Parameters:
| DataWriter | |||||||||||||||||||||||||||||||||||||||||||||||||
toHash( Ext.data.Record rec , Object config )
+ :
+ ObjectConverts a Record to a hash, taking into account the state of the Ext.data.Record along with configuration properties... Converts a Record to a hash, taking into account the state of the Ext.data.Record along with configuration properties
+related to its rendering, such as writeAllFields, phantom, getChanges and
+idProperty Parameters:
| DataWriter |