[76] | 1 | /*! |
---|
| 2 | * Ext JS Library 3.4.0 |
---|
| 3 | * Copyright(c) 2006-2011 Sencha Inc. |
---|
| 4 | * licensing@sencha.com |
---|
| 5 | * http://www.sencha.com/license |
---|
| 6 | */ |
---|
| 7 | /** |
---|
| 8 | * @class Ext.data.ArrayStore |
---|
| 9 | * @extends Ext.data.Store |
---|
| 10 | * <p>Formerly known as "SimpleStore".</p> |
---|
| 11 | * <p>Small helper class to make creating {@link Ext.data.Store}s from Array data easier. |
---|
| 12 | * An ArrayStore will be automatically configured with a {@link Ext.data.ArrayReader}.</p> |
---|
| 13 | * <p>A store configuration would be something like:<pre><code> |
---|
| 14 | var store = new Ext.data.ArrayStore({ |
---|
| 15 | // store configs |
---|
| 16 | autoDestroy: true, |
---|
| 17 | storeId: 'myStore', |
---|
| 18 | // reader configs |
---|
| 19 | idIndex: 0, |
---|
| 20 | fields: [ |
---|
| 21 | 'company', |
---|
| 22 | {name: 'price', type: 'float'}, |
---|
| 23 | {name: 'change', type: 'float'}, |
---|
| 24 | {name: 'pctChange', type: 'float'}, |
---|
| 25 | {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'} |
---|
| 26 | ] |
---|
| 27 | }); |
---|
| 28 | * </code></pre></p> |
---|
| 29 | * <p>This store is configured to consume a returned object of the form:<pre><code> |
---|
| 30 | var myData = [ |
---|
| 31 | ['3m Co',71.72,0.02,0.03,'9/1 12:00am'], |
---|
| 32 | ['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'], |
---|
| 33 | ['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'], |
---|
| 34 | ['Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am'], |
---|
| 35 | ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am'] |
---|
| 36 | ]; |
---|
| 37 | * </code></pre> |
---|
| 38 | * An object literal of this form could also be used as the {@link #data} config option.</p> |
---|
| 39 | * <p><b>*Note:</b> Although not listed here, this class accepts all of the configuration options of |
---|
| 40 | * <b>{@link Ext.data.ArrayReader ArrayReader}</b>.</p> |
---|
| 41 | * @constructor |
---|
| 42 | * @param {Object} config |
---|
| 43 | * @xtype arraystore |
---|
| 44 | */ |
---|
| 45 | Ext.data.ArrayStore = Ext.extend(Ext.data.Store, { |
---|
| 46 | /** |
---|
| 47 | * @cfg {Ext.data.DataReader} reader @hide |
---|
| 48 | */ |
---|
| 49 | constructor: function(config){ |
---|
| 50 | Ext.data.ArrayStore.superclass.constructor.call(this, Ext.apply(config, { |
---|
| 51 | reader: new Ext.data.ArrayReader(config) |
---|
| 52 | })); |
---|
| 53 | }, |
---|
| 54 | |
---|
| 55 | loadData : function(data, append){ |
---|
| 56 | if(this.expandData === true){ |
---|
| 57 | var r = []; |
---|
| 58 | for(var i = 0, len = data.length; i < len; i++){ |
---|
| 59 | r[r.length] = [data[i]]; |
---|
| 60 | } |
---|
| 61 | data = r; |
---|
| 62 | } |
---|
| 63 | Ext.data.ArrayStore.superclass.loadData.call(this, data, append); |
---|
| 64 | } |
---|
| 65 | }); |
---|
| 66 | Ext.reg('arraystore', Ext.data.ArrayStore); |
---|
| 67 | |
---|
| 68 | // backwards compat |
---|
| 69 | Ext.data.SimpleStore = Ext.data.ArrayStore; |
---|
| 70 | Ext.reg('simplestore', Ext.data.SimpleStore); |
---|