X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/examples/writer/writer.html diff --git a/examples/writer/writer.html b/examples/writer/writer.html index dbffd79b..fb682348 100644 --- a/examples/writer/writer.html +++ b/examples/writer/writer.html @@ -1,71 +1,30 @@ + -Grid with DataWriter Example + Writer Example + + + + + - - - - - - - - - - - - - - - - -

Ext.data.DataWriter Example

+

Ext.data.writer.Writer Example

This example shows how to implement a Writer for your Store. A Writer-enabled Store frees you from having to manually compose Ajax requests to perform CRUD actions on a Store.

-

Note that the js is not minified so it is readable. See writer.js, UserForm.js and -UserGrid.js.

+

Note that the js is not minified so it is readable. See writer.js. -

The HttpProxy plugged into the store in this example uses the new api configuration instead of an url. +

The AjaxProxy plugged into the store in this example uses the api configuration instead of an url. A simple MVC-like php backend has been created for this example which simulates a database by storing records in $_SESSION. See the file /remote/app/controllers/users.php. You may have to configure your web-server to allow scripts to be executed in the /examples directory.

-
-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'
-    }
-});
-
-

Take note of the requests being generated in Firebug as you interact with the Grid and Form.

-

An Error has been simulated on the server-side: Attempting to update a record having ODD-numbered id will generate this errror. +

An Error has been simulated on the server-side: Attempting to update a record having ODD-numbered id will generate this errror. Responses from the update action will have successProperty === false along with a message. This error can be handled by -listening to the "exception" event upon your Store.

- -
-exception : function(proxy, type, action, options, res, arg) {
-    if (type === 'remote') {
-        Ext.Msg.show({
-            title: 'REMOTE EXCEPTION',
-            msg: res.message,
-            icon: Ext.MessageBox.ERROR
-        });
-    }
-}
-
-

Note: This new "exception" event supercedes the old loadexception event which is now deprecated.

- -
-
-
-
- +listening to the "exception" event upon your proxy.