@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
30 lines (29 loc) • 975 B
JavaScript
import GroupLayer from '../../../models/layers/grouplayer';
import ThemeLayer from '../../../models/layers/themelayer';
import TreeViewElement from './treeviewelement';
export default class TreeViewGroupElement extends TreeViewElement {
constructor(layer, name) {
super(layer, name);
Object.defineProperty(this, "layer", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.layer = layer;
}
sortedChildren() {
return this.layerManager.getSortedLayers(this.layer.children);
}
deactivateThemeOrGroup(layer) {
layer.activeState = 'off';
if (layer instanceof ThemeLayer || layer instanceof GroupLayer) {
for (const child of layer.children) {
this.deactivateThemeOrGroup(child);
}
}
}
toggle(state) {
this.layerManager.toggleGroupOrTheme(this.layer, state);
}
}