@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
59 lines (58 loc) • 2.32 kB
TypeScript
import GirafeSingleton from '../../base/GirafeSingleton';
import Basemap from '../../models/basemap';
import { GMFBackgroundLayer, GMFServerOgc, GMFTheme, GMFTreeItem } from '../../models/gmf';
import ConfigManager from '../configuration/configmanager';
import StateManager from '../state/statemanager';
import BaseLayer from '../../models/layers/baselayer';
import LayerManager from '../layers/layermanager';
import ShareManager from '../share/sharemanager';
import ServerOgc from '../../models/serverogc';
import ThemeLayer from '../../models/layers/themelayer';
import CustomThemesManager from './customthemesmanager';
declare class ThemesManager extends GirafeSingleton {
configManager: ConfigManager;
stateManager: StateManager;
layerManager: LayerManager;
shareManager: ShareManager;
customThemesManager: CustomThemesManager;
isInitializingForUserInfo: WeakMap<object, boolean>;
anonymousUserInfo: {
u: string;
};
get state(): import("../main").State;
constructor(type: string);
initialize(): Promise<void>;
/**
* Load themes from backend and configures background layers if needed
*/
loadThemes(): Promise<void>;
setDefaultTheme(): void;
prepareOgcServers(ogcServerJson: Record<string, GMFServerOgc>): {
[key: string]: ServerOgc;
};
/**
* Preload all WFS DescribeFeatureType
* In order to limit the network overload, the servers calls are done sequetially
* and each call will wait the previous one to be done
*/
preloadWfsServer(ogcServers: {
[key: string]: ServerOgc;
}): Promise<void>;
prepareBasemaps(basemapJson: GMFBackgroundLayer[]): {
[key: number]: Basemap;
};
prepareThemes(themesJson: GMFTheme[]): {
[key: number]: ThemeLayer;
};
/**
* Will create layer and child layers if elem passed is a group of layers
* @param elem either a layer or a group of layers
* @param parentServer in case children are not mixed layers, the parentServer will apply for all children
* @param order the order in the layer list
* @returns the created girafe layer
*/
prepareThemeLayer(elem: GMFTreeItem, parentServer: string | null, order: {
value: number;
}): BaseLayer | null;
}
export default ThemesManager;