Skip to content

Commit ef33b6b

Browse files
committed
- Added multipleselected event. Triggered when multiple features are selected via rectangular selection.
- Removing tab, confounded VIM autoindent!
1 parent 7e4640a commit ef33b6b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

lib/OpenLayers/Control/SelectFeature.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ OpenLayers.Control.SelectFeature = OpenLayers.Class(OpenLayers.Control, {
2727
* - *beforefeaturehighlighted* Triggered before a feature is highlighted
2828
* - *featurehighlighted* Triggered when a feature is highlighted
2929
* - *featureunhighlighted* Triggered when a feature is unhighlighted
30+
* - *multipleselected* Triggered when multiple features are highlighted
3031
*/
31-
EVENT_TYPES: ["beforefeaturehighlighted", "featurehighlighted", "featureunhighlighted"],
32+
EVENT_TYPES: ["beforefeaturehighlighted", "featurehighlighted", "featureunhighlighted", "multipleselected"],
3233

3334
/**
3435
* Property: multipleKey
@@ -546,6 +547,7 @@ OpenLayers.Control.SelectFeature = OpenLayers.Class(OpenLayers.Control, {
546547
var prevMultiple = this.multiple;
547548
this.multiple = true;
548549
var layers = this.layers || [this.layer];
550+
var features = [];
549551
var layer;
550552
for(var l=0; l<layers.length; ++l) {
551553
layer = layers[l];
@@ -561,11 +563,18 @@ OpenLayers.Control.SelectFeature = OpenLayers.Class(OpenLayers.Control, {
561563
if (bounds.toGeometry().intersects(feature.geometry)) {
562564
if (OpenLayers.Util.indexOf(layer.selectedFeatures, feature) == -1) {
563565
this.select(feature);
566+
features.push(feature);
564567
}
565568
}
566569
}
567570
}
568571
}
572+
573+
// Trigger the multipleselected event passing in an
574+
// array of selected features.
575+
this.events.triggerEvent("multipleselected", {
576+
"features":features
577+
});
569578
this.multiple = prevMultiple;
570579
}
571580
},

0 commit comments

Comments
 (0)