/** * The Permalink service for GMF, which uses the `ngeo.statemanager.Service` to * manage the GMF application state. Here's the list of states are are managed: * * - the map center and zoom level * - the current background layer selected * - whether to add a crosshair feature in the map or not * - the dimensions value * * For time layers the time range or time value is added * * It can also be used to add different types of things in the map, * such as features, external data sources, etc. * * This is made using parameters in the url, which can be static * (i.e. parameters that always have the same name) or dynamic * (i.e. parameters that have a static prefix but with a full name * being dynamic). * * Here's a complete list of possible parameters and what they do. But * first, a legend * * === Parameters [type] === * * - `[paramameter_name]` (type) * [parameter documentation] * * * === Parameters (static) === * * A static parameter always have the same name. * * - `baselayer_ref` - "string" * The name of the base layer that should be set visible as * default in the map. If none is set, then the default one in the * loaded theme is set instead. * * - `eds_n` (string), `eds_u` (string) * These parameters stand for: * - eds_n: "External Data Sources Names" * - eds_u: "External Data Sources URLs" * These parameters define external WMS/WMTS data sources to add * to the map upon initialization. Both values are comma-separated * lists, `eds_u` containing the urls to the services and `eds_n` * the layer names (separated by `;`). Here's an example: * &eds_n=a;b;c,d,e&eds_u=host1.com,host2.com,host3.com, which reads as: * - host1.com - layers: a, b and c * - host2.com - layers: d * - host3.com - layers: e * For these parameters to work properly, they must define the * same number of elements, i.e. same number of names and urls. * * - `map_crosshair` (boolean) * If this parameter set to `true`, then a crosshair marker will be * added to the center of the map upon initialization. The marker * will stay at this location. * * - `map_tooltip` (string) * If set, then the text defined in this parameter will be added * as a tooltip at center of the map upon initialization. * * - `map_x` (number), `map_y` (number) * These two parameters define a coordinate the map view should be * centered to upon initialization. The value must be in the map * view projection. * * - `map_zoom` (number) * Defines the zoom level the map view should be zoomed to upon * initialization. * * - `rl_features` (string) * This parameter defines vector features to add to the map upon * initialization. In addition, if the application includes the * draw tool, the features added can be modified. The draw tool * can also be used to add new features, which are automatically * added in the url. * * - `tree_groups` (string) * Defines the layer groups that should be added to the layer tree * upon application initialization as a comma-separated list. For * example: Layers,Filters,Externals * * - `wfs_layer` (string) * If set, this parameter defines the name of a layer that * supports WFS to use to fetch features and add them to the map * upon initialization. The dynamic parameter `wfs_[]` is * required to identify the features to fetch. * * - `wfs_ngroups` (number) * If set, then `wfs_layer` represents the name of a group and * this property defines how many layers are in it. Requires * `wfs_layer` to be set. * * - `wfs_show_features` (boolean) * If set to `false` or `0`, then the features returned by the * `wfs_layer` parameter will not be shown in the map. * * * === Parameters (dynamic) === * * Dynamic parameters have variable names, which is always composed of: * - a static prefix * - a variable suffix * * The same dynamic parameter can be set multiple times, with * different suffix values as name. * * For example: `&wfs_a=&wfs_b=`. * - `wfs_` is the static prefix * - the name used as reference for this dynamic parameter is `wfs_[]` * - therefore, this example has 2 `wfs_[]` parameters set, with `a` * and `b` being the variable suffix * * * - `dim_[]` (string) * Variable suffix: the name of a dimension * Value: * * Defines the value of a specific dimension to set upon loading * the application. For example: `&dim_time=2019-01-25T14:45:51.986Z`. * WMS data sources that support the dimension set will be * initialized with its value. * * - `tree_enable_[]` (boolean) * Variable suffix: the name of a layer group * Value: whether the group should be enabled or not in the layer tree * For example: `&tree_enable_polygon=true&tree_enable_point=false` * means that the group `polygon` will be enabled in the layer * tree, but not `point`. * * - `tree_group_layers_[]` (string) * Variable suffix: the name of a layer group * Value: a comma-separated list of layers within the group that * should be enabled upon initialization. * For example: `&tree_group_layers_polygon=forest,lake` means * that only the layers `forest` and `lake` within the group * `polygon` would be enabled upon initialization. * * - `tree_opacity_[]` (number) * Variable suffix: the name of a layer group * Value: Number between 0 (transparent) and 1 (opaque) * Defines the opacity of a layer group upon initialization. * * - `tree_time_[]` (date) * Variable suffix: the name of a layer group or layer * Value: a date or date interval with the resolution of the time * of the layer or group * Defines the time or time interval for a time layer or a group. * * - `wfs_[]` (string) * Variable suffix: the name of an attribute * Value: A comma-separated list of values for the attribute * This parameter requires `wfs_layer` in order to work * properly. If set, it defines the filters to build to fetch the * features to add to the map. For example: * `&wfs_layer=fuel&wfs_osm_id=1420918679,441134960` the layer * `fuel` will be fetched features with the attribute `osm_id` * equal to `1420918679` or `441134960`. * If `wfs_ngroups` is set, then an index is added to after the * prefix of the `wfs_[]` parameter, for example: * `wfs_ngroups=2&wfs_0_[]=&wfs_1_[]=` * * * === More documentation === * * To have the whole possibilities offer by the permalink, these services * should be instantiated: ngeoBackgroundLayerMgr, ngeoFeatureOverlayMgr, * ngeoFeatureHelper, gmfPermalinkOptions, gmfThemes, gmfObjectEditingManager, * gmfThemeManager, defaultTheme, gmfTreeManager, ngeoWfsPermalink, * ngeoAutoProjection and ngeoFeatures. * * Used functionalities: * * - `default_theme`: Theme to use by default. * * @class * @param {angular.IQService} $q The Angular $q service. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @param {angular.IScope} $rootScope Angular rootScope. * @param {angular.auto.IInjectorService} $injector Main injector. * @param {import('ngeo/misc/debounce').miscDebounce} ngeoDebounce ngeo Debounce factory. * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext service. * @param {import('ngeo/misc/EventHelper').EventHelper} ngeoEventHelper Ngeo event helper service * @param {import('ngeo/statemanager/Service').StatemanagerService} ngeoStateManager The ngeo statemanager * service. * @param {import('ngeo/statemanager/Location').StatemanagerLocation} ngeoLocation ngeo location service. * @param {import('gmf/datasource/LayerBeingSwipe').LayerBeingSwipe} gmfLayerBeingSwipe * @param {import('gmf/options').gmfPermalinkOptions} gmfPermalinkOptions The options. * @param {import('gmf/datasource/Manager').DatasourceManager} gmfDataSourcesManager The gmf datasourcemanager * service. * @param {import('ngeo/misc/WMSTime').WMSTime} ngeoWMSTime The ngeo wmstime service * @ngdoc service * @ngname gmfPermalink */ export function PermalinkService($q: angular.IQService, $timeout: angular.ITimeoutService, $rootScope: angular.IScope, $injector: angular.auto.IInjectorService, ngeoDebounce: import("ngeo/misc/debounce").miscDebounce<() => void>, gettextCatalog: angular.gettext.gettextCatalog, ngeoEventHelper: import("ngeo/misc/EventHelper").EventHelper, ngeoStateManager: import("ngeo/statemanager/Service").StatemanagerService, ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation, gmfLayerBeingSwipe: import("gmf/datasource/LayerBeingSwipe").LayerBeingSwipe, gmfPermalinkOptions: import("gmf/options").gmfPermalinkOptions, gmfDataSourcesManager: import("gmf/datasource/Manager").DatasourceManager, ngeoWMSTime: import("ngeo/misc/WMSTime").WMSTime): void; export class PermalinkService { /** * The Permalink service for GMF, which uses the `ngeo.statemanager.Service` to * manage the GMF application state. Here's the list of states are are managed: * * - the map center and zoom level * - the current background layer selected * - whether to add a crosshair feature in the map or not * - the dimensions value * * For time layers the time range or time value is added * * It can also be used to add different types of things in the map, * such as features, external data sources, etc. * * This is made using parameters in the url, which can be static * (i.e. parameters that always have the same name) or dynamic * (i.e. parameters that have a static prefix but with a full name * being dynamic). * * Here's a complete list of possible parameters and what they do. But * first, a legend * * === Parameters [type] === * * - `[paramameter_name]` (type) * [parameter documentation] * * * === Parameters (static) === * * A static parameter always have the same name. * * - `baselayer_ref` - "string" * The name of the base layer that should be set visible as * default in the map. If none is set, then the default one in the * loaded theme is set instead. * * - `eds_n` (string), `eds_u` (string) * These parameters stand for: * - eds_n: "External Data Sources Names" * - eds_u: "External Data Sources URLs" * These parameters define external WMS/WMTS data sources to add * to the map upon initialization. Both values are comma-separated * lists, `eds_u` containing the urls to the services and `eds_n` * the layer names (separated by `;`). Here's an example: * &eds_n=a;b;c,d,e&eds_u=host1.com,host2.com,host3.com, which reads as: * - host1.com - layers: a, b and c * - host2.com - layers: d * - host3.com - layers: e * For these parameters to work properly, they must define the * same number of elements, i.e. same number of names and urls. * * - `map_crosshair` (boolean) * If this parameter set to `true`, then a crosshair marker will be * added to the center of the map upon initialization. The marker * will stay at this location. * * - `map_tooltip` (string) * If set, then the text defined in this parameter will be added * as a tooltip at center of the map upon initialization. * * - `map_x` (number), `map_y` (number) * These two parameters define a coordinate the map view should be * centered to upon initialization. The value must be in the map * view projection. * * - `map_zoom` (number) * Defines the zoom level the map view should be zoomed to upon * initialization. * * - `rl_features` (string) * This parameter defines vector features to add to the map upon * initialization. In addition, if the application includes the * draw tool, the features added can be modified. The draw tool * can also be used to add new features, which are automatically * added in the url. * * - `tree_groups` (string) * Defines the layer groups that should be added to the layer tree * upon application initialization as a comma-separated list. For * example: Layers,Filters,Externals * * - `wfs_layer` (string) * If set, this parameter defines the name of a layer that * supports WFS to use to fetch features and add them to the map * upon initialization. The dynamic parameter `wfs_[]` is * required to identify the features to fetch. * * - `wfs_ngroups` (number) * If set, then `wfs_layer` represents the name of a group and * this property defines how many layers are in it. Requires * `wfs_layer` to be set. * * - `wfs_show_features` (boolean) * If set to `false` or `0`, then the features returned by the * `wfs_layer` parameter will not be shown in the map. * * * === Parameters (dynamic) === * * Dynamic parameters have variable names, which is always composed of: * - a static prefix * - a variable suffix * * The same dynamic parameter can be set multiple times, with * different suffix values as name. * * For example: `&wfs_a=&wfs_b=`. * - `wfs_` is the static prefix * - the name used as reference for this dynamic parameter is `wfs_[]` * - therefore, this example has 2 `wfs_[]` parameters set, with `a` * and `b` being the variable suffix * * * - `dim_[]` (string) * Variable suffix: the name of a dimension * Value: * * Defines the value of a specific dimension to set upon loading * the application. For example: `&dim_time=2019-01-25T14:45:51.986Z`. * WMS data sources that support the dimension set will be * initialized with its value. * * - `tree_enable_[]` (boolean) * Variable suffix: the name of a layer group * Value: whether the group should be enabled or not in the layer tree * For example: `&tree_enable_polygon=true&tree_enable_point=false` * means that the group `polygon` will be enabled in the layer * tree, but not `point`. * * - `tree_group_layers_[]` (string) * Variable suffix: the name of a layer group * Value: a comma-separated list of layers within the group that * should be enabled upon initialization. * For example: `&tree_group_layers_polygon=forest,lake` means * that only the layers `forest` and `lake` within the group * `polygon` would be enabled upon initialization. * * - `tree_opacity_[]` (number) * Variable suffix: the name of a layer group * Value: Number between 0 (transparent) and 1 (opaque) * Defines the opacity of a layer group upon initialization. * * - `tree_time_[]` (date) * Variable suffix: the name of a layer group or layer * Value: a date or date interval with the resolution of the time * of the layer or group * Defines the time or time interval for a time layer or a group. * * - `wfs_[]` (string) * Variable suffix: the name of an attribute * Value: A comma-separated list of values for the attribute * This parameter requires `wfs_layer` in order to work * properly. If set, it defines the filters to build to fetch the * features to add to the map. For example: * `&wfs_layer=fuel&wfs_osm_id=1420918679,441134960` the layer * `fuel` will be fetched features with the attribute `osm_id` * equal to `1420918679` or `441134960`. * If `wfs_ngroups` is set, then an index is added to after the * prefix of the `wfs_[]` parameter, for example: * `wfs_ngroups=2&wfs_0_[]=&wfs_1_[]=` * * * === More documentation === * * To have the whole possibilities offer by the permalink, these services * should be instantiated: ngeoBackgroundLayerMgr, ngeoFeatureOverlayMgr, * ngeoFeatureHelper, gmfPermalinkOptions, gmfThemes, gmfObjectEditingManager, * gmfThemeManager, defaultTheme, gmfTreeManager, ngeoWfsPermalink, * ngeoAutoProjection and ngeoFeatures. * * Used functionalities: * * - `default_theme`: Theme to use by default. * * @class * @param {angular.IQService} $q The Angular $q service. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @param {angular.IScope} $rootScope Angular rootScope. * @param {angular.auto.IInjectorService} $injector Main injector. * @param {import('ngeo/misc/debounce').miscDebounce} ngeoDebounce ngeo Debounce factory. * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext service. * @param {import('ngeo/misc/EventHelper').EventHelper} ngeoEventHelper Ngeo event helper service * @param {import('ngeo/statemanager/Service').StatemanagerService} ngeoStateManager The ngeo statemanager * service. * @param {import('ngeo/statemanager/Location').StatemanagerLocation} ngeoLocation ngeo location service. * @param {import('gmf/datasource/LayerBeingSwipe').LayerBeingSwipe} gmfLayerBeingSwipe * @param {import('gmf/options').gmfPermalinkOptions} gmfPermalinkOptions The options. * @param {import('gmf/datasource/Manager').DatasourceManager} gmfDataSourcesManager The gmf datasourcemanager * service. * @param {import('ngeo/misc/WMSTime').WMSTime} ngeoWMSTime The ngeo wmstime service * @ngdoc service * @ngname gmfPermalink */ constructor($q: angular.IQService, $timeout: angular.ITimeoutService, $rootScope: angular.IScope, $injector: angular.auto.IInjectorService, ngeoDebounce: import("ngeo/misc/debounce").miscDebounce<() => void>, gettextCatalog: angular.gettext.gettextCatalog, ngeoEventHelper: import("ngeo/misc/EventHelper").EventHelper, ngeoStateManager: import("ngeo/statemanager/Service").StatemanagerService, ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation, gmfLayerBeingSwipe: import("gmf/datasource/LayerBeingSwipe").LayerBeingSwipe, gmfPermalinkOptions: import("gmf/options").gmfPermalinkOptions, gmfDataSourcesManager: import("gmf/datasource/Manager").DatasourceManager, ngeoWMSTime: import("ngeo/misc/WMSTime").WMSTime); /** * @type {angular.IQService} */ q_: angular.IQService; /** * @type {angular.IScope} */ rootScope_: angular.IScope; /** * @type {angular.ITimeoutService} */ $timeout_: angular.ITimeoutService; /** * The key for map view 'propertychange' event. * * @type {?import('ol/events').EventsKey} */ mapViewPropertyChangeEventKey_: import("ol/events").EventsKey | null; /** * @type {import('ngeo/misc/debounce').miscDebounce} */ ngeoDebounce_: import("ngeo/misc/debounce").miscDebounce<() => void>; /** * @type {import('ngeo/misc/EventHelper').EventHelper} */ ngeoEventHelper_: import("ngeo/misc/EventHelper").EventHelper; /** * @type {import('ngeo/statemanager/Service').StatemanagerService} */ ngeoStateManager_: import("ngeo/statemanager/Service").StatemanagerService; /** * @type {import('gmf/datasource/Manager').DatasourceManager} */ gmfDataSourcesManager_: import("gmf/datasource/Manager").DatasourceManager; /** * @type {import('ngeo/misc/WMSTime').WMSTime} */ ngeoWMSTime_: import("ngeo/misc/WMSTime").WMSTime; /** * @type {?import('ol/Collection').default>} */ ngeoFeatures_: import("ol/Collection").default> | null; /** * @type {?import('ngeo/map/BackgroundLayerMgr').MapBackgroundLayerManager} */ ngeoBackgroundLayerMgr_: import("ngeo/map/BackgroundLayerMgr").MapBackgroundLayerManager | null; /** * @type {import('gmf/datasource/LayerBeingSwipe').LayerBeingSwipe} */ gmfLayerBeingSwipe_: import("gmf/datasource/LayerBeingSwipe").LayerBeingSwipe; /** * @type {?import('ngeo/map/FeatureOverlay').FeatureOverlay} */ featureOverlay_: import("ngeo/map/FeatureOverlay").FeatureOverlay | null; /** * @type {?import('ngeo/misc/FeatureHelper').FeatureHelper} */ featureHelper_: import("ngeo/misc/FeatureHelper").FeatureHelper | null; /** * @type {?import('ngeo/query/Querent').Querent} */ ngeoQuerent_: import("ngeo/query/Querent").Querent | null; /** * @type {boolean} */ crosshairEnabledByDefault_: boolean; /** * @type {number|undefined} */ pointRecenterZoom_: number | undefined; /** * @type {?import('gmf/datasource/ExternalDataSourcesManager').ExternalDatSourcesManager} */ gmfExternalDataSourcesManager_: import("gmf/datasource/ExternalDataSourcesManager").ExternalDatSourcesManager | null; /** * @type {?import('gmf/theme/Themes').ThemesService} */ gmfThemes_: import("gmf/theme/Themes").ThemesService | null; /** * @type {?import('gmf/objectediting/Manager').ObjecteditingManagerService} */ gmfObjectEditingManager_: import("gmf/objectediting/Manager").ObjecteditingManagerService | null; /** * @type {?import('gmf/theme/Manager').ThemeManagerService} */ gmfThemeManager_: import("gmf/theme/Manager").ThemeManagerService | null; /** * @type {string|undefined} */ defaultTheme_: string | undefined; /** * @type {?import('gmf/layertree/TreeManager').LayertreeTreeManager} */ gmfTreeManager_: import("gmf/layertree/TreeManager").LayertreeTreeManager | null; /** * @type {import('ngeo/statemanager/Location').StatemanagerLocation} */ ngeoLocation_: import("ngeo/statemanager/Location").StatemanagerLocation; /** * @type {?import('ngeo/statemanager/WfsPermalink').WfsPermalinkService} */ ngeoWfsPermalink_: import("ngeo/statemanager/WfsPermalink").WfsPermalinkService | null; /** * @type {import('ngeo/store/user').User} */ gmfUser: any; /** * @type {?import('ol/Map').default} */ map_: import("ol/Map").default | null; /** * @type {?import('ngeo/misc/AutoProjection').AutoProjectionService} */ ngeoAutoProjection_: import("ngeo/misc/AutoProjection").AutoProjectionService | null; /** * @type {import('ol/events').EventsKey[]} */ listenerKeys_: import("ol/events").EventsKey[]; /** * A list of projections that the coordinates in the permalink can be in. * * @type {?import('ol/proj/Projection').default[]} */ sourceProjections_: import("ol/proj/Projection").default[] | null; /** * @type {?olFeature} */ crosshairFeature_: olFeature | null; /** * @type {import('ol/style/Style').StyleLike} */ crosshairStyle_: import("ol/style/Style").StyleLike; /** * @type {?import('ngeo/Popover').default} */ mapTooltip_: import("ngeo/Popover").default | null; /** * @type {import('ngeo/format/FeatureHash').default} */ featureHashFormat_: import("ngeo/format/FeatureHash").default; /** * @type {?angular.IPromise} */ setExternalDataSourcesStatePromise_: angular.IPromise | null; /** * Called when layer being swipe * * @param {?import('ol/layer/Layer').default|import('ol/layer/Group').default} layer layer object. * @param {?import('ol/layer/Layer').default|import('ol/layer/Group').default} oldLayer old layer object. */ handleLayerBeingSwipeChange_(layer: (import("ol/layer/Layer").default | import("ol/layer/Group").default) | null, oldLayer: (import("ol/layer/Layer").default | import("ol/layer/Group").default) | null): void; /** * Called when map swipe value change. */ handleMapSwipeValue_(): void; /** * Get the coordinate to use to initialize the map view from the state manager. * * @returns {?import('ol/coordinate').Coordinate} The coordinate for the map view center. */ getMapCenter(): import("ol/coordinate").Coordinate | null; /** * Get the zoom level to use to initialize the map view from the state manager. * * @returns {number|undefined} The zoom for the map view. */ getMapZoom(): number | undefined; /** * Get the map crosshair property from the state manager, if defined. * * @returns {boolean} Whether map crosshair property is set or not. */ getMapCrosshair(): boolean; /** * Sets the map crosshair to the center (or the map center if nothing provided). * Overwrites an existing map crosshair. * * @param {?import('ol/coordinate').Coordinate} [opt_center] Optional center coordinate. */ setMapCrosshair(opt_center?: import("ol/coordinate").Coordinate | null): void; /** * Get the tooltip text from the state manager. * * @returns {string|undefined} Tooltip text. */ getMapTooltip(): string | undefined; /** * Sets the map tooltip to the center (or the map center if nothing provided). * Overwrites an existing map tooltip. * * @param {string} tooltipText Text to display in tooltip. * @param {?import('ol/coordinate').Coordinate} [opt_center] Optional center coordinate. */ setMapTooltip(tooltipText: string, opt_center?: import("ol/coordinate").Coordinate | null): void; /** * Get the ngeo features from the state manager for initialization purpose * * @returns {olFeature[]} The features read from the state manager. */ getFeatures(): olFeature[]; /** * @param {Object} dimensions The global dimensions object. */ setDimensions(dimensions: { [x: string]: string; }): void; /** * Bind an ol3 map object to this service. The service will, from there on, * listen to the properties changed within the map view and update the following * state properties: map_x, map_y and map_zoom. * * If the service is already bound to a map, those events are unlistened first. * * @param {?import('ol/Map').default} map The ol3 map object. */ setMap(map: import("ol/Map").default | null): void; /** * Listen to the map view property change and update the state accordingly. * * @param {import('ol/Map').default} map The ol3 map object. * @param {?olFeature} oeFeature ObjectEditing feature */ registerMap_(map: import("ol/Map").default, oeFeature: olFeature | null): void; /** * Remove any event listeners from the current map. */ unregisterMap_(): void; /** * Get the background layer object to use to initialize the map from the state manager. * * @param {import('ol/layer/Base').default[]} layers Array of background layer objects. * @returns {?import('ol/layer/Base').default} Background layer. */ getBackgroundLayer(layers: import("ol/layer/Base").default[]): import("ol/layer/Base").default | null; /** * Get the background layer opacity to use to initialize the map from the state manager. * * @returns {?number} Opacity. */ getBackgroundLayerOpacity(): number | null; /** * Called when the background layer changes. Update the state using the * background layer label, i.e. its name. */ handleBackgroundLayerManagerChange_(): void; /** * Get the current first level node names in the tree manager and update the * correspondent state of the permalink. */ refreshFirstLevelGroups(): void; /** * Update the time values in the state. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl Controller. * @param {import('ngeo/datasource/OGC').TimeRange} time The start * and optionally the end datetime (for time range selection) selected by user */ refreshLayerTime(treeCtrl: import("ngeo/layertree/Controller").LayertreeController, time: import("ngeo/datasource/OGC").TimeRange): void; /** * Return true if there is a theme specified in the URL path. * * @param {string[]} pathElements Array of path elements. * @returns {boolean} theme in path. */ themeInUrl_(pathElements: string[]): boolean; /** * @param {string} themeName Theme name. */ setThemeInUrl_(themeName: string): void; /** * Get the default theme from url, local storage, user functionalities or * defaultTheme constant. * * @returns {?string} default theme name. */ defaultThemeName(): string | null; /** * Get the default theme from user functionalities. * * @returns {?string} default theme name. */ defaultThemeNameFromFunctionalities(): string | null; initLayers_(): void; /** * @param {Event|import('ol/events/Event').default} event Collection event. */ handleNgeoFeaturesAdd_(event: Event | import("ol/events/Event").default): void; /** * @param {Event|import('ol/events/Event').default} event Collection event. */ handleNgeoFeaturesRemove_(event: Event | import("ol/events/Event").default): void; /** * Listen to any changes that may occur within the feature in order to * update the state of the permalink accordingly. * * @param {olFeature} feature Feature. */ addNgeoFeature_(feature: olFeature): void; /** * Unregister any event listener from the feature. * * @param {olFeature} feature Feature. */ removeNgeoFeature_(feature: olFeature): void; /** * Called once upon initialization of the permalink service if there's at * least one feature in the ngeoFeatures collection, then called every time * the collection changes or any of the features within the collection changes. */ handleNgeoFeaturesChange_(): void; /** * Get the query data for a WFS permalink. * * @returns {?import('ngeo/statemanager/WfsPermalink').WfsPermalinkData} The query data. */ getWfsPermalinkData_(): import("ngeo/statemanager/WfsPermalink").WfsPermalinkData | null; /** * Create a filter group for a given prefix from the query params. * * @param {string} prefix E.g. `wfs_` or `wfs_0_`. * @param {string[]} paramKeys All param keys starting with `wfs_`. * @returns {import('ngeo/statemanager/WfsPermalink').WfsPermalinkFilterGroup|null} A filter group. */ createFilterGroup_(prefix: string, paramKeys: string[]): import("ngeo/statemanager/WfsPermalink").WfsPermalinkFilterGroup | null; /** * @returns {angular.IPromise} Promise */ initExternalDataSources_(): angular.IPromise; /** * @param {Event|import('ol/events/Event').default} evt Collection event. */ handleExternalDSGroupCollectionAdd_(evt: Event | import("ol/events/Event").default): void; /** * @param {import('ngeo/datasource/Group').default} group Data source group. */ registerExternalDSGroup_(group: import("ngeo/datasource/Group").default): void; /** * Contains the layer name * * @param {import('ol/layer/Base').default} layer The layer to inspect * @param {string} name The layer name to find * @returns {boolean} The containing status */ containsLayerName(layer: import("ol/layer/Base").default, name: string): boolean; /** * @param {Event|import('ol/events/Event').default} evt Collection event. */ handleExternalDSGroupCollectionRemove_(evt: Event | import("ol/events/Event").default): void; /** * @param {import('ngeo/datasource/Group').default} group Data source group. */ unregisterExternalDSGroup_(group: import("ngeo/datasource/Group").default): void; /** * Set the External Data Sources parameters in the url. */ setExternalDataSourcesState_(): void; /** * Clean the permalink parameters * * @param {import('gmf/themes').GmfGroup[]} groups firstlevel groups of the tree */ cleanParams(groups: import("gmf/themes").GmfGroup[]): void; /** * Set the time from permalink in datasource and widget. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl Controller */ setNodeTime_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): void; } export namespace PermalinkService { let $inject: string[]; } /** * * */ export type OpenLayersLayerProperties = string; export namespace OpenLayersLayerProperties { let OPACITY: string; } export default myModule; import angular from 'angular'; import olFeature from 'ol/Feature'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;