X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..05ce1c11e98b33f14ddee184493bd5a60dc947e2:/docs/source/JsonWriter.html diff --git a/docs/source/JsonWriter.html b/docs/source/JsonWriter.html index 8a25ed19..d47d3436 100644 --- a/docs/source/JsonWriter.html +++ b/docs/source/JsonWriter.html @@ -1,11 +1,17 @@ - -
-/** + + ++ \ No newline at end of fileThe source code + + + + +/*! + * Ext JS Library 3.0.3 + * Copyright(c) 2006-2009 Ext JS, LLC + * licensing@extjs.com + * http://www.extjs.com/license + */ +/** * @class Ext.data.JsonWriter * @extends Ext.data.DataWriter * DataWriter extension for writing an array or single {@link Ext.data.Record} object(s) in preparation for executing a remote CRUD action. @@ -21,7 +27,7 @@ Ext.data.JsonWriter = function(config) { } Ext.extend(Ext.data.JsonWriter, Ext.data.DataWriter, { /** - * @cfg {Boolean} returnJson Deprecated. Use {@link Ext.data.JsonWriter#encode} instead. + * @cfg {Boolean} returnJson Deprecated. Use {@link Ext.data.JsonWriter#encode} instead. */ returnJson : undefined, /** @@ -31,7 +37,8 @@ Ext.extend(Ext.data.JsonWriter, Ext.data.DataWriter, { * its own json-encoding. In addition, if you're using {@link Ext.data.HttpProxy}, setting to false * will cause HttpProxy to transmit data using the jsonData configuration-params of {@link Ext.Ajax#request} * instead of params. When using a {@link Ext.data.Store#restful} Store, some serverside frameworks are - * tuned to expect data through the jsonData mechanism. In those cases, one will want to set encode: false + * tuned to expect data through the jsonData mechanism. In those cases, one will want to set encode: false, as in + * let the lower-level connection object (eg: Ext.Ajax) do the encoding. */ encode : true, @@ -43,42 +50,41 @@ Ext.extend(Ext.data.JsonWriter, Ext.data.DataWriter, { * @param {Object} data object populated according to DataReader meta-data "root" and "idProperty" */ render : function(action, rs, params, data) { - Ext.apply(params, data); - - if (this.encode === true) { // <-- @deprecated returnJson - if (Ext.isArray(rs) && data[this.meta.idProperty]) { - params[this.meta.idProperty] = Ext.encode(params[this.meta.idProperty]); - } - params[this.meta.root] = Ext.encode(params[this.meta.root]); + if (this.encode === true) { + params[this.meta.root] = Ext.encode(data); + } else { + params.jsonData = {}; + params.jsonData[this.meta.root] = data; } }, /** - * createRecord + * Implements abstract Ext.data.DataWriter#createRecord * @protected * @param {Ext.data.Record} rec + * @return {Object} */ createRecord : function(rec) { - var data = this.toHash(rec); - delete data[this.meta.idProperty]; - return data; + return this.toHash(rec); }, /** - * updateRecord + * Implements abstract Ext.data.DataWriter#updateRecord * @protected * @param {Ext.data.Record} rec + * @return {Object} */ updateRecord : function(rec) { return this.toHash(rec); }, /** - * destroyRecord + * Implements abstract Ext.data.DataWriter#destroyRecord * @protected * @param {Ext.data.Record} rec + * @return {Object} */ destroyRecord : function(rec) { return rec.id; } -});- +});