X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=roojs-ui-debug.js;h=6623fbfdb0bd2eb6b93fb28ef8cb34cd53f616ce;hp=67cc6dc3435e4538f06cfb1550bc59be1541bb16;hb=8f5eb4c4c8c1b9d0a7198e29efe26ac2d9e0bff8;hpb=16d585588738895fd73db1cc2cf3754144012aab diff --git a/roojs-ui-debug.js b/roojs-ui-debug.js index 67cc6dc343..6623fbfdb0 100644 --- a/roojs-ui-debug.js +++ b/roojs-ui-debug.js @@ -12,7 +12,7 @@ /** * @class Roo.data.SortTypes - * @singleton + * @static * Defines the default sorting (casting?) comparison functions used when sorting data. */ Roo.data.SortTypes = { @@ -511,13 +511,13 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { */ /** - * @cfg {Roo.data.DataProxy} proxy The Proxy object which provides access to a data object. + * @cfg {Roo.data.DataProxy} proxy [required] The Proxy object which provides access to a data object. */ /** * @cfg {Array} data Inline data to be loaded when the store is initialized. */ /** - * @cfg {Roo.data.Reader} reader The Reader object which processes the data object and returns + * @cfg {Roo.data.DataReader} reader [required] The Reader object which processes the data object and returns * an Array of Roo.data.record objects which are cached keyed by their id property. */ /** @@ -666,6 +666,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { *
* @param {Object} options An object containing properties which control loading options:
+ { + data : data, // array of key=>value data like JsonReader + total : data.length, + success : true + + } ++ }.
@@ -1363,14 +1394,16 @@ Roo.extend(Roo.data.DataProxy, Roo.util.Observable); */ /** * @class Roo.data.MemoryProxy + * @extends Roo.data.DataProxy * An implementation of Roo.data.DataProxy that simply passes the data specified in its constructor * to the Reader when its load method is called. * @constructor - * @param {Object} data The data object which the Reader uses to construct a block of Roo.data.Records. + * @param {Object} config A config object containing the objects needed for the Store to access data, */ -Roo.data.MemoryProxy = function(data){ - if (data.data) { - data = data.data; +Roo.data.MemoryProxy = function(config){ + var data = config; + if (typeof(config) != 'undefined' && typeof(config.data) != 'undefined') { + data = config.data; } Roo.data.MemoryProxy.superclass.constructor.call(this); this.data = data; @@ -1378,6 +1411,9 @@ Roo.data.MemoryProxy = function(data){ Roo.extend(Roo.data.MemoryProxy, Roo.data.DataProxy, { + /** + * @cfg {Object} data The data object which the Reader uses to construct a block of Roo.data.Records. + */ /** * Load data from the requested source (in this case an in-memory * data object passed to the constructor), read the data object into @@ -1543,8 +1579,10 @@ Roo.extend(Roo.data.HttpProxy, Roo.data.DataProxy, { try { result = o.reader.read(response); }catch(e){ + o.success = false; + o.raw = { errorMsg : response.responseText }; this.fireEvent("loadexception", this, o, response, e); - o.request.callback.call(o.request.scope, null, o.request.arg, false); + o.request.callback.call(o.request.scope, o, o.request.arg, false); return; } @@ -1830,6 +1868,8 @@ Roo.data.JsonReader = function(meta, recordType){ }; Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { + readerType : 'Json', + /** * @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source. * Used by Store query builder to append _requestMeta to params. @@ -1948,19 +1988,27 @@ Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { } var records = []; for(var i = 0; i < c; i++){ - var n = root[i]; + var n = root[i]; var values = {}; var id = this.getId(n); for(var j = 0; j < fl; j++){ f = fi[j]; - var v = this.ef[j](n); - if (!f.convert) { - Roo.log('missing convert for ' + f.name); - Roo.log(f); - continue; - } - values[f.name] = f.convert((v !== undefined) ? v : f.defaultValue); - } + var v = this.ef[j](n); + if (!f.convert) { + Roo.log('missing convert for ' + f.name); + Roo.log(f); + continue; + } + values[f.name] = f.convert((v !== undefined) ? v : f.defaultValue); + } + if (!Record) { + return { + raw : { errorMsg : "JSON Reader Error: fields or metadata not available to create Record" }, + success : false, + records : [], + totalRecords : 0 + }; + } var record = new Record(values, id); record.json = n; records[i] = record; @@ -1971,6 +2019,14 @@ Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { records : records, totalRecords : totalRecords }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + return { data : data, total : data.length }; + } });/* * Based on: @@ -2041,6 +2097,9 @@ Roo.data.XmlReader = function(meta, recordType){ Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, { + + readerType : 'Xml', + /** * This method is only used by a DataProxy which has retrieved data from a remote server. * @param {Object} response The XHR object which contains the parsed XML document. The response is expected @@ -2152,44 +2211,54 @@ var myReader = new Roo.data.ArrayReader({ * * created using {@link Roo.data.Record#create}. */ -Roo.data.ArrayReader = function(meta, recordType){ - - +Roo.data.ArrayReader = function(meta, recordType) +{ Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { - /** + + /** * Create a data block containing Roo.data.Records from an XML document. * @param {Object} o An Array of row objects which represents the dataset. * @return {Object} A data block which is used by an {@link Roo.data.Store} object as * a cache of Roo.data.Records. */ - readRecords : function(o){ + readRecords : function(o) + { var sid = this.meta ? this.meta.id : null; - var recordType = this.recordType, fields = recordType.prototype.fields; - var records = []; - var root = o; - for(var i = 0; i < root.length; i++){ - var n = root[i]; - var values = {}; - var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); - for(var j = 0, jlen = fields.length; j < jlen; j++){ + var recordType = this.recordType, fields = recordType.prototype.fields; + var records = []; + var root = o; + for(var i = 0; i < root.length; i++){ + var n = root[i]; + var values = {}; + var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); + for(var j = 0, jlen = fields.length; j < jlen; j++){ var f = fields.items[j]; var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; var v = n[k] !== undefined ? n[k] : f.defaultValue; v = f.convert(v); values[f.name] = v; } - var record = new recordType(values, id); - record.json = n; - records[records.length] = record; - } - return { - records : records, - totalRecords : records.length - }; + var record = new recordType(values, id); + record.json = n; + records[records.length] = record; + } + return { + records : records, + totalRecords : records.length + }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + } + + });/* * Based on: * Ext JS Library 1.1.1 @@ -2945,463 +3014,6 @@ Roo.extend(Roo.data.Node, Roo.util.Observable, { * Fork - LGPL *