Upgrade to ExtJS 3.0.3 - Released 10/11/2009
[extjs.git] / docs / output / Ext.data.DataWriter.html
1 <div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.data.DataWriter-props"><img src="resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>&#13;<a class="inner-link" href="#Ext.data.DataWriter-methods"><img src="resources/images/default/s.gif" class="item-icon icon-method">Methods</a>&#13;<a class="inner-link" href="#Ext.data.DataWriter-events"><img src="resources/images/default/s.gif" class="item-icon icon-event">Events</a>&#13;<a class="inner-link" href="#Ext.data.DataWriter-configs"><img src="resources/images/default/s.gif" class="item-icon icon-config">Config Options</a>&#13;<a class="bookmark" href="../docs/?class=Ext.data.DataWriter"><img src="resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>&#13;</div><h1>Class <a href="source/DataWriter.html#cls-Ext.data.DataWriter">Ext.data.DataWriter</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.data</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">DataWriter.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/DataWriter.html#cls-Ext.data.DataWriter">DataWriter</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.data.JsonWriter.html" ext:cls="Ext.data.JsonWriter">JsonWriter</a>,&#13;<a href="output/Ext.data.XmlWriter.html" ext:cls="Ext.data.XmlWriter">XmlWriter</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr><tr><td class="hd-info"></td></tr></table><div class="description"><p>Ext.data.DataWriter facilitates create, update, and destroy actions between
2 an Ext.data.Store and a server-side framework. A Writer enabled Store will
3 automatically manage the Ajax requests to perform CRUD actions on a Store.</p>
4 <p>Ext.data.DataWriter is an abstract base class which is intended to be extended
5 and should not be created directly. For existing implementations, see
6 <a href="output/Ext.data.JsonWriter.html" ext:cls="Ext.data.JsonWriter">Ext.data.JsonWriter</a>.</p>
7 <p>Creating a writer is simple:</p>
8 <pre><code><b>var</b> writer = <b>new</b> Ext.data.JsonWriter();</code></pre>
9 <p>The proxy for a writer enabled store can be configured with a simple <code>url</code>:</p>
10 <pre><code><i>// Create a standard HttpProxy instance.</i>
11 <b>var</b> proxy = <b>new</b> Ext.data.HttpProxy({
12     url: <em>'app.php/users'</em>
13 });</code></pre>
14 <p>For finer grained control, the proxy may also be configured with an <code>api</code>:</p>
15 <pre><code><i>// Use the api specification</i>
16 <b>var</b> proxy = <b>new</b> Ext.data.HttpProxy({
17     api: {
18         read    : <em>'app.php/users/read'</em>,
19         create  : <em>'app.php/users/create'</em>,
20         update  : <em>'app.php/users/update'</em>,
21         destroy : <em>'app.php/users/destroy'</em>
22     }
23 });</code></pre>
24 <p>Creating a Writer enabled store:</p>
25 <pre><code><b>var</b> store = <b>new</b> Ext.data.Store({
26     proxy: proxy,
27     reader: reader,
28     writer: writer
29 });</code></pre></div><div class="hr"></div><a id="Ext.data.DataWriter-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-createRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-createRecord">createRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
30 (e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-createRecord" ext:member="createRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.createRecord</a>)</div></td><td class="msource">DataWriter</td></tr><tr class="config-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-destroyRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-destroyRecord">destroyRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
31 (e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-destroyRecord" ext:member="destroyRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.destroyRecord</a>)</div></td><td class="msource">DataWriter</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-listful"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-listful">listful</a></b> : Boolean<div class="mdesc"><div class="short">false by default.  Set true to have the DataWriter always write HTTP params as a list,\r
32 even when acting upon a single...</div><div class="long"><tt>false</tt> by default.  Set <tt>true</tt> to have the DataWriter <b>always</b> write HTTP params as a list,
33 even when acting upon a single record.</div></div></td><td class="msource">DataWriter</td></tr><tr class="config-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-updateRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-updateRecord">updateRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
34 (e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-updateRecord" ext:member="updateRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.updateRecord</a></div></td><td class="msource">DataWriter</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-writeAllFields"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-writeAllFields">writeAllFields</a></b> : Boolean<div class="mdesc"><div class="short">false by default.  Set true to have DataWriter return ALL fields of a modified\r
35 record -- not just those that changed....</div><div class="long"><tt>false</tt> by default.  Set <tt>true</tt> to have DataWriter return ALL fields of a modified
36 record -- not just those that changed.
37 <tt>false</tt> to have DataWriter only request modified fields from a record.</div></div></td><td class="msource">DataWriter</td></tr></tbody></table><a id="Ext.data.DataWriter-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.data.DataWriter-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-DataWriter"></a><b><a href="source/DataWriter.html#cls-Ext.data.DataWriter">DataWriter</a></b>(&nbsp;<code>Object&nbsp;meta</code>,&nbsp;<code>Object&nbsp;recordType</code>&nbsp;)\r
38     <div class="mdesc"><div class="short">Create a new DataWriter</div><div class="long">Create a new DataWriter<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>meta</code> : Object<div class="sub-desc">Metadata configuration options (implementation-specific)</div></li><li><code>recordType</code> : Object<div class="sub-desc">Either an Array of field definition objects as specified
39 in <a href="output/Ext.data.Record.html#Ext.data.Record-create" ext:member="create" ext:cls="Ext.data.Record">Ext.data.Record.create</a>, or an <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Ext.data.Record</a> object created
40 using <a href="output/Ext.data.Record.html#Ext.data.Record-create" ext:member="create" ext:cls="Ext.data.Record">Ext.data.Record.create</a>.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">DataWriter</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-render"></a><b><a href="source/DataWriter.html#method-Ext.data.DataWriter-render">render</a></b>(&nbsp;<code>String&nbsp;action</code>,&nbsp;<code>Record[]&nbsp;rs</code>,&nbsp;<code>Object&nbsp;params</code>,&nbsp;<code>Object&nbsp;data</code>&nbsp;)\r
41     :\r
42                                         void<div class="mdesc"><div class="short">abstract method meant to be overridden by all DataWriter extensions.  It's the extension's job to apply the "data" to...</div><div class="long">abstract method meant to be overridden by all DataWriter extensions.  It's the extension's job to apply the "data" to the "params".
43 The data-object provided to render is populated with data according to the meta-info defined in the user's DataReader config,<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>action</code> : String<div class="sub-desc">[Ext.data.Api.actions.create|read|update|destroy]</div></li><li><code>rs</code> : Record[]<div class="sub-desc">Store recordset</div></li><li><code>params</code> : Object<div class="sub-desc">Http params to be sent to server.</div></li><li><code>data</code> : Object<div class="sub-desc">object populated according to DataReader meta-data.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">DataWriter</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-write"></a><b><a href="source/DataWriter.html#method-Ext.data.DataWriter-write">write</a></b>(&nbsp;<code>String&nbsp;action</code>,&nbsp;<code>Object&nbsp;params</code>,&nbsp;<code>Record/Record[]&nbsp;rs</code>&nbsp;)\r
44     :\r
45                                         void<div class="mdesc"><div class="short">Writes data in preparation for server-write action.  Simply proxies to DataWriter#update, DataWriter#create\r
46 DataWrite...</div><div class="long">Writes data in preparation for server-write action.  Simply proxies to DataWriter#update, DataWriter#create
47 DataWriter#destroy.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>action</code> : String<div class="sub-desc">[CREATE|UPDATE|DESTROY]</div></li><li><code>params</code> : Object<div class="sub-desc">The params-hash to write-to</div></li><li><code>rs</code> : Record/Record[]<div class="sub-desc">The recordset write.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">DataWriter</td></tr></tbody></table><a id="Ext.data.DataWriter-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>