@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
40 lines (39 loc) • 1.86 kB
TypeScript
import GirafeSingleton from '../../base/GirafeSingleton.js';
import BaseLayer from '../../models/layers/baselayer.js';
import GroupLayer from '../../models/layers/grouplayer.js';
import Layer from '../../models/layers/layer.js';
import ILayerWithLegend from '../../models/layers/ilayerwithlegend.js';
import ILayerWithFilter from '../../models/layers/ilayerwithfilter.js';
import ThemeLayer from '../../models/layers/themelayer.js';
declare class LayerManager extends GirafeSingleton {
private readonly layerClones;
private readonly layerIdToClone;
private get state();
initializeSingleton(): void;
private onLayersListChanged;
private fillLayerIdToClone;
protected onChildrenListChanged(oldChildren: BaseLayer[], newChildren: BaseLayer[]): void;
getTreeItem(treeItemId: string): BaseLayer;
getTreeItemByLayerName(layerName: string): BaseLayer | null;
getFlattenedLayerTree(layers: BaseLayer[]): BaseLayer[];
private activateIfDefaultChecked;
toggle(layer: BaseLayer, state: 'on' | 'off'): void;
private onLayerToggled;
private manageDisclaimer;
toggleLayer(layer: Layer, state?: 'on' | 'off'): void;
toggleGroupOrTheme(groupOrTheme: GroupLayer | ThemeLayer, state?: 'on' | 'off' | 'semi'): void;
private toggleParent;
private toggleChilds;
private manageExclusiveGroups;
private areAllChildrenActive;
private areAllChildrenInactive;
private isAnyChildActive;
setError(layer: BaseLayer, error: string): void;
unsetError(layer: BaseLayer): void;
isLayerWithLegend(layer: ILayerWithLegend | Layer): layer is ILayerWithLegend;
isLayerWithFilter(layer: ILayerWithFilter | Layer): layer is ILayerWithFilter;
getSortedLayers(layers: BaseLayer[]): BaseLayer[];
private activateDefaultLayers;
private highlightNewLayers;
}
export default LayerManager;