OpenLayers OpenLayers

Ticket #808: onFeaturesAdded.patch

File onFeaturesAdded.patch, 1.8 kB (added by tschaub, 1 year ago)

add onFeaturesAdded method to Layer.Vector

  • tests/Layer/test_Vector.html

    old new  
    1616    } 
    1717     
    1818    function test_02_Layer_Vector_addFeatures(t) { 
    19         t.plan(2); 
     19        t.plan(3); 
    2020     
    2121        var layer = new OpenLayers.Layer.Vector(name); 
    2222 
    2323        var point = new OpenLayers.Geometry.Point(-111.04, 45.68); 
    2424        var pointFeature = new OpenLayers.Feature.Vector(point); 
     25 
     26        layer.onFeaturesAdded = function(features) { 
     27            t.ok(features[0] === pointFeature, 
     28                 "onFeaturesAdded is called with the correct list of features"); 
     29        } 
     30 
    2531        layer.addFeatures([pointFeature]); 
    2632         
    2733        t.eq(layer.features.length, 1, "OpenLayers.Layer.Vector.addFeatures adds something to the array"); 
  • lib/OpenLayers/Layer/Vector.js

    old new  
    277277             
    278278            this.onFeatureInsert(feature); 
    279279        } 
     280        this.onFeaturesAdded(features); 
    280281    }, 
    281282 
    282283 
     
    431432    preFeatureInsert: function(feature) { 
    432433    }, 
    433434 
     435    /** 
     436     * APIMethod: onFeaturesAdded 
     437     * Called after layer.addFeatures finishes adding features. 
     438     *     Does nothing by default. Override this if you need to do something 
     439     *     whenever new features are done being added to the layer. 
     440     * 
     441     * Parameters: 
     442     * features - {Array(<OpenLayers.Feature.Vector>)} The list of features 
     443     *     just added. 
     444     */ 
     445    onFeaturesAdded: function(features) { 
     446    }, 
     447 
    434448    /** @final @type String */ 
    435449    CLASS_NAME: "OpenLayers.Layer.Vector" 
    436450});