Allow forEachRecursive to work on a collection/array.
This commit is contained in:
parent
4862010d42
commit
6676bc8172
|
@ -225,17 +225,23 @@ ol.control.LayerSwitcher.prototype.renderLayers_ = function(lyr, elm) {
|
||||||
/**
|
/**
|
||||||
* **Static** Call the supplied function for each layer in the passed layer group
|
* **Static** Call the supplied function for each layer in the passed layer group
|
||||||
* recursing nested groups.
|
* recursing nested groups.
|
||||||
* @param {ol.layer.Group} lyr The layer group to start iterating from.
|
* @param {ol.layer.Group} lyr The layer group or collection/array to start iterating from.
|
||||||
* @param {Function} fn Callback which will be called for each `ol.layer.Base`
|
* @param {Function} fn Callback which will be called for each `ol.layer.Base`
|
||||||
* found under `lyr`. The signature for `fn` is the same as `ol.Collection#forEach`
|
* found under `lyr`. The signature for `fn` is the same as `ol.Collection#forEach`
|
||||||
*/
|
*/
|
||||||
ol.control.LayerSwitcher.forEachRecursive = function(lyr, fn) {
|
ol.control.LayerSwitcher.forEachRecursive = function(lyr, fn) {
|
||||||
lyr.getLayers().forEach(function(lyr, idx, a) {
|
var traverse = function(lyr, idx, a) {
|
||||||
fn(lyr, idx, a);
|
fn(lyr, idx, a);
|
||||||
|
if (lyr.getLayers) {
|
||||||
|
ol.control.LayerSwitcher.forEachRecursive(lyr, fn);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if (lyr.getLayers) {
|
if (lyr.getLayers) {
|
||||||
ol.control.LayerSwitcher.forEachRecursive(lyr, fn);
|
lyr.getLayers().forEach(traverse);
|
||||||
|
} else {
|
||||||
|
lyr.forEach(traverse);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue