X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/examples/writer/writer.html diff --git a/examples/writer/writer.html b/examples/writer/writer.html new file mode 100644 index 00000000..dbffd79b --- /dev/null +++ b/examples/writer/writer.html @@ -0,0 +1,71 @@ + + + +Grid with DataWriter Example + + + + + + + + + + + + + + + + + + + + +

Ext.data.DataWriter 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.

+ +

The HttpProxy plugged into the store in this example uses the new 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. +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.

+ +
+
+
+
+ + +