/** * @param {import('gmf/themes').GmfTheme[]} themes Array of "theme" objects. * @param {string} name The layer name. * @returns {?import('gmf/themes').GmfGroup} The group. * @hidden */ export function findGroupByLayerNodeName(themes: import("gmf/themes").GmfTheme[], name: string): import("gmf/themes").GmfGroup | null; /** * Find a layer group object by its name. Return null if not found. * * @param {import('gmf/themes').GmfTheme[]} themes Array of "theme" objects. * @param {string} name The group name. * @returns {?import('gmf/themes').GmfGroup} The group. * @hidden */ export function findGroupByName(themes: import("gmf/themes").GmfTheme[], name: string): import("gmf/themes").GmfGroup | null; /** * Find an object by its name. Return null if not found. * * @param {(import('gmf/themes').GmfTheme|import("gmf/themes").GmfGroup|import("gmf/themes").GmfLayer)[]} objects * Array of objects with a 'name' attribute. * @param {string} objectName The object name. * @returns {?(import('gmf/themes').GmfTheme|import("gmf/themes").GmfGroup|import("gmf/themes").GmfLayer)} * The object or null. * @hidden */ export function findObjectByName(objects: (import("gmf/themes").GmfTheme | import("gmf/themes").GmfGroup | import("gmf/themes").GmfLayer)[], objectName: string): (import("gmf/themes").GmfTheme | import("gmf/themes").GmfGroup | import("gmf/themes").GmfLayer) | null; /** * Find a theme object by its name. Return null if not found. * * @param {import('gmf/themes').GmfTheme[]} themes Array of "theme" objects. * @param {string} themeName The theme name. * @returns {?import('gmf/themes').GmfTheme} The theme object or null. * @hidden */ export function findThemeByName(themes: import("gmf/themes").GmfTheme[], themeName: string): import("gmf/themes").GmfTheme | null; /** * Fill the given "nodes" array with all leaf nodes in the given node. * * @param {import('gmf/themes').GmfTheme|import('gmf/themes').GmfGroup|import('gmf/themes').GmfLayer} node Layertree node. * @param {import('gmf/themes').GmfLayer[]} nodes An array. * @hidden */ export function getFlatNodes(node: import("gmf/themes").GmfTheme | import("gmf/themes").GmfGroup | import("gmf/themes").GmfLayer, nodes: import("gmf/themes").GmfLayer[]): void; /** * Get the snapping configuration object from a Layertree controller * * @param {import('gmf/themes').GmfLayer} node Layer node from the theme. * @returns {?import('gmf/themes').GmfSnappingConfig} Snapping configuration, if found. * @hidden */ export function getSnappingConfig(node: import("gmf/themes").GmfLayer): import("gmf/themes").GmfSnappingConfig | null; /** * Get the maximal resolution defined for this layer. Looks in the * layer itself before to look into its metadata. * * @param {import('gmf/themes').GmfLayerWMS|import('gmf/themes').GmfLayerWMTS|import('gmf/themes').GmfLayerVectorTiles} gmfLayer the GeoMapFish Layer. * @returns {number|undefined} the max resolution or undefined if any. * @hidden */ export function getNodeMaxResolution(gmfLayer: import("gmf/themes").GmfLayerWMS | import("gmf/themes").GmfLayerWMTS | import("gmf/themes").GmfLayerVectorTiles): number | undefined; /** * Get the minimal resolution defined for this layer. Looks in the * layer itself before to look into its metadata. * * @param {import('gmf/themes').GmfLayerWMS|import('gmf/themes').GmfLayerWMTS|import('gmf/themes').GmfLayerVectorTiles} gmfLayer the GeoMapFish Layer. * @returns {number|undefined} the min resolution or undefined if any. * @hidden */ export function getNodeMinResolution(gmfLayer: import("gmf/themes").GmfLayerWMS | import("gmf/themes").GmfLayerWMTS | import("gmf/themes").GmfLayerVectorTiles): number | undefined; /** * The Themes service. This service interacts * with c2cgeoportal's "themes" web service and exposes functions that return * objects in the tree returned by the "themes" web service. * * @hidden */ export class ThemesService extends olEventsEventTarget { /** * @param {angular.IHttpService} $http Angular http service. * @param {angular.auto.IInjectorService} $injector Main injector. * @param {angular.IQService} $q Angular q service * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper Ngeo Layer Helper. * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext catalog. * @param {import('gmf/options').gmfThemesOptions} gmfThemesOptions Themes options. * @param {string} gmfTreeUrl The tree URL. * @param {string} gmfVectorTilesUrl The Vector Tiles URL. * @param {import('gmf/options').gmfVectorTilesOptions} gmfVectorTilesOptions the VectorTiles options. * @param {import('gmf/options').gmfWMSSourceOptions} gmfWMSSourceOptions the WMS source options. */ constructor($http: angular.IHttpService, $injector: angular.auto.IInjectorService, $q: angular.IQService, ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper, gettextCatalog: angular.gettext.gettextCatalog, gmfThemesOptions: import("gmf/options").gmfThemesOptions, gmfTreeUrl: string, gmfVectorTilesUrl: string, gmfVectorTilesOptions: import("gmf/options").gmfVectorTilesOptions, gmfWMSSourceOptions: import("gmf/options").gmfWMSSourceOptions); /** * @type {boolean} * @private */ private addBlankBackgroundLayer_; /** * @type {angular.IQService} * @private */ private $q_; /** * @type {angular.IHttpService} * @private */ private $http_; /** * @type {string} * @private */ private treeUrl_; /** * @type {string} * @private */ private gmfVectorTilesUrl_; /** * @type {import('gmf/options').gmfVectorTilesOptions} * @private */ private gmfVectorTilesOptions_; /** * @type {import('gmf/options').gmfWMSSourceOptions} * @private */ private gmfWMSSourceOptions_; /** * @type {?import('ngeo/statemanager/Location').StatemanagerLocation} * @private */ private ngeoLocation_; /** * @type {import('ngeo/map/LayerHelper').LayerHelper} * @private */ private layerHelper_; /** * @type {angular.gettext.gettextCatalog} * @private */ private gettextCatalog; /** * @type {angular.IDeferred} * @private */ private deferred_; /** * @type {angular.IPromise} * @private */ private promise_; /** * @type {boolean} */ loaded: boolean; /** * @type {?angular.IPromise} * @private */ private bgLayerPromise_; /** * Get background layers. * * @returns {angular.IPromise} Promise. */ getBgLayers(): angular.IPromise; /** * @param {import('gmf/themes').GmfGroup|import('gmf/themes').GmfLayer} item A group or a leaf. * @param {string[]} array Array of ids; */ getLayerGroupIds_(item: import("gmf/themes").GmfGroup | import("gmf/themes").GmfLayer, array: string[]): void; /** * @param {import('gmf/themes').GmfGroup|import('gmf/themes').GmfLayer} item The item. * @param {import('ol/layer/Base').default} layer The layer. * @returns {import('ol/layer/Base').default} the provided layer. */ setLayerProperties_(item: import("gmf/themes").GmfGroup | import("gmf/themes").GmfLayer, layer: import("ol/layer/Base").default): import("ol/layer/Base").default; /** * @param {import('gmf/themes').GmfOgcServers} ogcServers The ogc servers. * @param {import('gmf/themes').GmfLayer} gmfLayer The item. * @returns {angular.IPromise|import('ol/layer/Base').default} * The created layer. */ layerLayerCreationFn_(ogcServers: import("gmf/themes").GmfOgcServers, gmfLayer: import("gmf/themes").GmfLayer): angular.IPromise | import("ol/layer/Base").default; /** * @param {import('gmf/themes').GmfLayerWMTS} gmfLayerWMTS * @returns {angular.IPromise} the new layer. */ layerLayerWMTSCreationFn_(gmfLayerWMTS: import("gmf/themes").GmfLayerWMTS): angular.IPromise; /** * @param {import('gmf/themes').GmfOgcServers} ogcServers The ogc servers. * @param {import('gmf/themes').GmfLayerWMS} gmfLayerWMS * @returns {angular.IPromise} the new layer. */ layerLayerWMSCreationFn_(ogcServers: import("gmf/themes").GmfOgcServers, gmfLayerWMS: import("gmf/themes").GmfLayerWMS): angular.IPromise; /** * @param {import('gmf/themes').GmfLayerVectorTiles} gmfLayerVectorTiles * @returns {angular.IPromise} the new VectorTiles layer. */ layerLayerVectorTilesCreationFn_(gmfLayerVectorTiles: import("gmf/themes").GmfLayerVectorTiles): angular.IPromise; /** * @param {import('gmf/themes').GmfOgcServers} ogcServers The ogc servers. * @param {import('gmf/themes').GmfGroup} item The item. * @returns {angular.IPromise} the created layer. */ layerGroupCreationFn_(ogcServers: import("gmf/themes").GmfOgcServers, item: import("gmf/themes").GmfGroup): angular.IPromise; /** * @param {import('gmf/themes').GmfThemesResponse} data The "themes" web service * response. * @returns {angular.IPromise} Promise. */ bgLayerPromiseSuccessFn_(data: import("gmf/themes").GmfThemesResponse): angular.IPromise; /** * @returns {import('ol/layer/VectorLayer').default>}} a blank vector layer. */ getBgBlankLayer_(): any; /** * Get a theme object by its name. * * @param {string} themeName Theme name. * @returns {angular.IPromise} Promise. */ getThemeObject(themeName: string): angular.IPromise; /** * Get an array of theme objects. * * @returns {angular.IPromise} Promise. */ getThemesObject(): angular.IPromise; /** * Get an array of background layer objects. * * @returns {angular.IPromise<(import('gmf/themes').GmfLayer | import('gmf/themes').GmfGroup)[]>} * Promise. */ getBackgroundLayersObject(): angular.IPromise<(import("gmf/themes").GmfLayer | import("gmf/themes").GmfGroup)[]>; /** * Get the `ogcServers` object. * * @returns {angular.IPromise} Promise. */ getOgcServersObject(): angular.IPromise; /** * Returns a promise to check if one of the layers in the themes is editable. * * @returns {angular.IPromise} Promise. */ hasEditableLayers(): angular.IPromise; /** * Returns if one of the layers in the themes is editable. * * @param {import('gmf/themes').GmfThemesResponse} data The "themes" web service response. * @returns {boolean} Editable layers? */ hasEditableLayers_(data: import("gmf/themes").GmfThemesResponse): boolean; /** * @param {import('gmf/themes').GmfGroup|import('gmf/themes').GmfLayer} node Theme node * @returns {boolean} Editable layers? */ hasNodeEditableLayers_(node: import("gmf/themes").GmfGroup | import("gmf/themes").GmfLayer): boolean; /** * @param {string} [opt_roleId] The role id to send in the request. * Load themes from the "themes" service. */ loadThemes(opt_roleId?: string): void; } export namespace ThemesService { let $inject: string[]; } /** * * */ export type ThemeNodeType = string; export namespace ThemeNodeType { let MIXED_GROUP: string; let NOT_MIXED_GROUP: string; let VECTOR_TILES: string; let WMTS: string; let WMS: string; } export default myModule; import olEventsEventTarget from 'ol/events/Target'; import angular from 'angular'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;