ukis-frontend-libraries
ukis-frontend-libraries copied to clipboard
Refactor: Simplify LayersService.addLayer
Description
We're close to issuing a ukis-version 8.0. To this occasion, maybe cleaning up some places in the code could be useful. Last time we did that, there were just too many changes coming together at once, so here I'll try to handle things on a small-issue basis, so that things don't go out of hand.
Concretely, here is a potential chance for some cleaning up: in the method LayersService.addLayer
, to we still need the toGroup
parameter?
I don't really understand toGroup
anyway. I don't think that this method does anything when toGroup
is given!
/**
* Adds a ukis Layer to the Layerservice Store
* filtertype: TFiltertypes
* if filtertype is not provided the filtertype of the Layer is used!
*
* if toGroup is true the layer is not added to the list of Layers and storeItems. Only used internally.
*/
public addLayer(layer: Layer, filtertype?: TFiltertypes, toGroup?: boolean) {
if (!this.isInLayergroups(layer)) {
if (!filtertype) {
filtertype = layer.filtertype;
} else {
// set filtertype of Layer!!
layer.filtertype = filtertype;
}
const storeItems = this.store.getValue();
if (toGroup) {
this.filterFiltertype(filtertype); // <-- updates baselayers, layers and overlays with store's current contents.
} else {
storeItems.push(layer);
this.store.next(storeItems);
this.filterFiltertype(filtertype); // <-- updates baselayers, layers and overlays with store's current contents.
}
} else {
console.error(`layer or Group with id: ${layer.id} already exists!`);
}
}
- Removing this parameter would make the code a lot more readable and understandable for new users.
- I've grepped for any usage of
toGroups
in the libraries and couldn't find any. Neither was it used in any ukis-project that I've ever worked on. I'm almost positive that this option is no longer used.
Relevant Package
This feature request is for @dlr-eoc/services-layers