Merge pull request #1992 from fredj/select-layer-option

Remove layer option from ol.interaction.Select
This commit is contained in:
Frédéric Junod
2014-04-29 09:56:56 +02:00
2 changed files with 21 additions and 41 deletions
+7 -19
View File
@@ -1726,9 +1726,7 @@ olx.interaction.PinchZoomOptions.prototype.duration;
/** /**
* @typedef {{addCondition: (ol.events.ConditionType|undefined), * @typedef {{addCondition: (ol.events.ConditionType|undefined),
* condition: (ol.events.ConditionType|undefined), * condition: (ol.events.ConditionType|undefined),
* layerFilter: (function(ol.layer.Layer): boolean|undefined), * layers: (Array.<ol.layer.Layer>|function(ol.layer.Layer): boolean|undefined),
* layer: (ol.layer.Layer|undefined),
* layers: (Array.<ol.layer.Layer>|undefined),
* style: (ol.style.Style|Array.<ol.style.Style>|ol.feature.StyleFunction|undefined), * style: (ol.style.Style|Array.<ol.style.Style>|ol.feature.StyleFunction|undefined),
* removeCondition: (ol.events.ConditionType|undefined), * removeCondition: (ol.events.ConditionType|undefined),
* toggleCondition: (ol.events.ConditionType|undefined)}} * toggleCondition: (ol.events.ConditionType|undefined)}}
@@ -1756,22 +1754,12 @@ olx.interaction.SelectOptions.prototype.condition;
/** /**
* Filter function to restrict selection to a subset of layers. * A list of layers from which features should be
* @type {function(ol.layer.Layer): boolean|undefined} * selected. Alternatively, a filter function can be provided. The
*/ * function will be called for each layer in the map and should return
olx.interaction.SelectOptions.prototype.layerFilter; * `true` for layers that you want to be selectable. If the option is
* absent, all visible layers will be considered selectable.
* @type {Array.<ol.layer.Layer>|function(ol.layer.Layer): boolean|undefined}
/**
* Layer. The single layer from which features should be selected.
* @type {ol.layer.Layer|undefined}
*/
olx.interaction.SelectOptions.prototype.layer;
/**
* Layers. Zero or more layers from which features should be selected.
* @type {Array.<ol.layer.Layer>|undefined}
*/ */
olx.interaction.SelectOptions.prototype.layers; olx.interaction.SelectOptions.prototype.layers;
+14 -22
View File
@@ -55,28 +55,20 @@ ol.interaction.Select = function(opt_options) {
options.toggleCondition : ol.events.condition.shiftKeyOnly; options.toggleCondition : ol.events.condition.shiftKeyOnly;
var layerFilter; var layerFilter;
if (goog.isDef(options.layerFilter)) { if (goog.isDef(options.layers)) {
layerFilter = options.layerFilter; if (goog.isFunction(options.layers)) {
} else if (goog.isDef(options.layer)) { layerFilter = options.layers;
var layer = options.layer; } else {
layerFilter = var layers = options.layers;
/** layerFilter =
* @param {ol.layer.Layer} l Layer. /**
* @return {boolean} Include. * @param {ol.layer.Layer} layer Layer.
*/ * @return {boolean} Include.
function(l) { */
return l === layer; function(layer) {
}; return goog.array.contains(layers, layer);
} else if (goog.isDef(options.layers)) { };
var layers = options.layers; }
layerFilter =
/**
* @param {ol.layer.Layer} layer Layer.
* @return {boolean} Include.
*/
function(layer) {
return goog.array.contains(layers, layer);
};
} else { } else {
layerFilter = goog.functions.TRUE; layerFilter = goog.functions.TRUE;
} }