commit extjs-2.2.1
[extjs.git] / source / data / SimpleStore.js
1 /*\r
2  * Ext JS Library 2.2.1\r
3  * Copyright(c) 2006-2009, Ext JS, LLC.\r
4  * licensing@extjs.com\r
5  * \r
6  * http://extjs.com/license\r
7  */\r
8 \r
9 /**\r
10  * @class Ext.data.SimpleStore\r
11  * @extends Ext.data.Store\r
12  * Small helper class to make creating Stores from Array data easier.\r
13  * @cfg {Number} id The array index of the record id. Leave blank to auto generate ids.\r
14  * @cfg {Array} fields An array of field definition objects, or field name string as specified to {@link Ext.data.Record#create}\r
15  * @cfg {Array} data The multi-dimensional array of data.\r
16  * @constructor\r
17  * @param {Object} config\r
18  */\r
19 Ext.data.SimpleStore = function(config){\r
20     Ext.data.SimpleStore.superclass.constructor.call(this, Ext.apply(config, {\r
21         reader: new Ext.data.ArrayReader({\r
22                 id: config.id\r
23             },\r
24             Ext.data.Record.create(config.fields)\r
25         )\r
26     }));\r
27 };\r
28 Ext.extend(Ext.data.SimpleStore, Ext.data.Store, {\r
29     loadData : function(data, append){\r
30         if(this.expandData === true){\r
31             var r = [];\r
32             for(var i = 0, len = data.length; i < len; i++){\r
33                 r[r.length] = [data[i]];\r
34             }\r
35             data = r;\r
36         }\r
37         Ext.data.SimpleStore.superclass.loadData.call(this, data, append);\r
38     }\r
39 });