Changeset 451

Show
Ignore:
Timestamp:
04/23/09 13:28:51 (1 year ago)
Author:
elemoine
Message:

LayerStore configured with "fields" instead of "recordType", r=ahocevar,bbinet, p=bbinet,me (closes #47)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • core/trunk/geoext/lib/GeoExt/data/LayerStore.js

    r370 r451  
    4444 
    4545    /** 
    46      * Property: reader 
     46     * APIProperty: reader 
    4747     * {<GeoExt.data.LayerReader>} The reader used to get 
    4848     *     <GeoExt.data.LayerRecord> objects from {OpenLayers.Layer} 
     
    6161     *     with. 
    6262     * layers - {Array(OpenLayers.Layer)} Layers that will be added to the 
    63      *     layer store (and the map, because we are already syncing). 
    64      * recordType - {<GeoExt.data.LayerRecord>} If provided, a custom layer 
    65      *     record type with additional fields will be used. Default fields for 
    66      *     every layer record are {OpenLayers.Layer} layer and {String} title. 
     63     *     store (and the map, depending on the value of the initDir option). 
     64     * fields - {Array} If provided a custom layer record type with additional 
     65     *     fields will be used. Default fields for every layer record are 
     66     *     {OpenLayers.Layer} layer and {String} title. The value of this 
     67     *     option is either a field definition objects as passed to the 
     68     *     GeoExt.data.LayerRecord.create function or a 
     69     *     {<GeoExt.data.LayerRecord>} constructor created using 
     70     *     GeoExt.data.LayerRecord.create. 
    6771     * initDir - {Number} Bitfields specifying the direction to use for the 
    6872     *     initial sync between the map and the store, if set to 0 then no 
     
    7377        config = config || {}; 
    7478        config.reader = config.reader || 
    75                         new GeoExt.data.LayerReader({}, config.recordType); 
     79                        new GeoExt.data.LayerReader({}, config.fields); 
     80        delete config.fields; 
    7681        // "map" option 
    7782        var map = config.map instanceof GeoExt.MapPanel ? 
  • core/trunk/geoext/tests/lib/GeoExt/data/LayerStore.html

    r370 r451  
    3434 
    3535        function test_constructor(t) { 
    36             t.plan(3); 
    37  
    38             var store, reader, map
     36            t.plan(5); 
     37 
     38            var store, reader, map, fields
    3939 
    4040            store = new GeoExt.data.LayerStore(); 
     
    5151            t.ok(store.map == map, 
    5252                 "ctor sets the passed map in the instance"); 
     53 
     54            fields = [{name: "foo"}]; 
     55            store = new GeoExt.data.LayerStore({fields: fields}); 
     56            t.eq(store.reader.recordType.prototype.fields.items[2].name, "foo", 
     57                 "ctor creates a reader from array of field definitions with expected field in recordType prototype"); 
     58 
     59            fields = GeoExt.data.LayerRecord.create([{name: "foo"}]); 
     60            store = new GeoExt.data.LayerStore({fields: fields}); 
     61            t.eq(store.reader.recordType.prototype.fields.items[2].name, "foo", 
     62                 "ctor creates a reader from layer record constructor with expected field in recordType prototype"); 
    5363        } 
    5464