geopf-extensions-openlayers
Version:
French Geoportal Extensions for OpenLayers libraries
910 lines • 32.1 kB
TypeScript
export default Catalog;
/**
* - Liste des options du widget Catalog
*/
export type CatalogOptions = {
/**
* - Définit si le widget est replié au chargement.
*/
collapsed?: boolean | undefined;
/**
* - Permet de déplacer le panneau du catalogue.
*/
draggable?: boolean | undefined;
/**
* - Active l’ajout automatique des événements sur la carte.
*/
auto?: boolean | undefined;
/**
* - Titre principal du panneau.
*/
titlePrimary?: string | undefined;
/**
* - Titre secondaire du panneau.
*/
titleSecondary?: string | undefined;
/**
* - Propriété utilisée comme label pour les couches.
*/
layerLabel?: string | undefined;
/**
* - Affiche les miniatures des couches si disponibles.
*/
layerThumbnail?: boolean | undefined;
/**
* - Taille de la fenêtre : sm, md, lg ou xl.
*/
size?: string | undefined;
/**
* - Gestion dynamique ou fixe de la taille des onglets en fonction du contenu.
*/
tabHeightAuto?: boolean | undefined;
/**
* - Options de recherche.
*/
search?: {
/**
* - Affiche le champ de recherche.
*/
display?: boolean | undefined;
/**
* - Label du champ de recherche.
*/
label?: string | undefined;
/**
* - Critères de recherche.
*/
criteria?: string[] | undefined;
} | undefined;
/**
* - Ajoute automatiquement la couche à la carte lors de la sélection.
*/
addToMap?: boolean | undefined;
/**
* - Liste des catégories et sous-catégories.
*/
categories?: Categories[] | undefined;
/**
* - Configuration des sources de données.
*/
configuration?: {
/**
* - Type de configuration ("json" ou "service").
*/
type?: string | undefined;
/**
* - URLs des fichiers de configuration JSON.
*/
urls?: string[] | undefined;
/**
* - Données de configuration déjà chargées.
*/
data?: any;
} | undefined;
/**
* - Identifiant unique du widget.
*/
id?: string | undefined;
/**
* - Position CSS du widget sur la carte.
*/
position?: string | undefined;
/**
* - Ajoute ou retire l’espace autour du panneau.
*/
gutter?: boolean | undefined;
/**
* - Type d'optimisation pour l'affichage des listes de couches : "none", "clusterize" (experimental) ou "on-demand".
*/
optimisation?: string | undefined;
};
/**
* - Catégories principales du catalogue sous forme d'onglets
*/
export type Categories = {
/**
* - Titre de la catégorie.
*/
title: string;
/**
* - Identifiant unique de la catégorie.
*/
id: string;
/**
* - Indique si c'est la catégorie par défaut.
*/
default: boolean;
/**
* - **Experimental** Clusterisation de la liste des couches.
*/
cluster?: boolean | undefined;
/**
* - Options de la librairie Clusterize.
*/
clusterOptions: any | null;
/**
* - Affiche une barre de recherche spécifique à la catégorie.
*/
search?: boolean | undefined;
/**
* - Liste des sous-catégories.
*/
items?: SubCategories[] | undefined;
/**
* - Filtre appliqué à la catégorie.
*/
filter: any | null;
/**
* - Champ utilisé pour le filtre.
*/
field: string;
/**
* - Valeur ou liste de valeurs pour le filtre.
*/
value: string | Array<string>;
};
/**
* - Sous-catégories du catalogue sous forme de boutons radio
* avec ou sans sections. Une section, c'est un regroupement thématique des couches.
* ex. : regrouper les couches par "thématique" (voir propriété "thematic" dans la conf. des couches)
*/
export type SubCategories = {
/**
* - Titre de la sous-catégorie.
*/
title: string;
/**
* - Identifiant unique de la sous-catégorie.
*/
id: string;
/**
* - Indique si la sous-catégorie utilise des sections.
*/
section: boolean;
/**
* - **TODO** Indique si les sections sont repliables.
*/
collapsible?: boolean | undefined;
/**
* - Indique que l'on souhaite un icone de type dsfr classe pour les sections de la sous-catégorie.
*/
icon?: boolean | undefined;
/**
* - Liste d'icones (json) pour les sections de la sous-catégorie.
*/
iconJson?: any[] | undefined;
/**
* - Liste des sections (remplie ultérieurement).
*/
sections: Array<string>;
/**
* - Indique si c'est la sous-catégorie par défaut.
*/
default: boolean;
/**
* - **Experimental** Clusterisation de la liste des couches.
*/
cluster?: boolean | undefined;
/**
* - Options de la librairie Clusterize.
*/
clusterOptions: any | null;
/**
* - Filtre appliqué à la sous-catégorie.
*/
filter: any | null;
/**
* - Champ utilisé pour le filtre.
*/
field: string;
/**
* - Valeur ou liste de valeurs pour le filtre.
*/
value: string | Array<string>;
};
/**
* - Configuration des sources de données
* * {@link schema | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.json}
* * {@link jsdoc | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.jsdoc}
*/
export type Config = any;
/**
* - Configuration d'une couche
* * {@link schema | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.json}
* * {@link jsdoc | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.jsdoc}
*/
export type ConfigLayer = any;
/**
* @typedef {Object} CatalogOptions - Liste des options du widget Catalog
* @property {boolean} [collapsed=true] - Définit si le widget est replié au chargement.
* @property {boolean} [draggable=false] - Permet de déplacer le panneau du catalogue.
* @property {boolean} [auto=true] - Active l’ajout automatique des événements sur la carte.
* @property {string} [titlePrimary="Gérer vos couches de données"] - Titre principal du panneau.
* @property {string} [titleSecondary=""] - Titre secondaire du panneau.
* @property {string} [layerLabel="title"] - Propriété utilisée comme label pour les couches.
* @property {Boolean} [layerThumbnail=false] - Affiche les miniatures des couches si disponibles.
* @property {string} [size="md"] - Taille de la fenêtre : sm, md, lg ou xl.
* @property {Boolean} [tabHeightAuto=false] - Gestion dynamique ou fixe de la taille des onglets en fonction du contenu.
* @property {Object} [search] - Options de recherche.
* @property {boolean} [search.display=true] - Affiche le champ de recherche.
* @property {string} [search.label="Rechercher une donnée"] - Label du champ de recherche.
* @property {Array<string>} [search.criteria=["name","title","description"]] - Critères de recherche.
* @property {boolean} [addToMap=true] - Ajoute automatiquement la couche à la carte lors de la sélection.
* @property {Array<Categories>} [categories] - Liste des catégories et sous-catégories.
* @property {Object} [configuration] - Configuration des sources de données.
* @property {string} [configuration.type="json"] - Type de configuration ("json" ou "service").
* @property {Array<string>} [configuration.urls] - URLs des fichiers de configuration JSON.
* @property {Object} [configuration.data] - Données de configuration déjà chargées.
* @property {string} [id] - Identifiant unique du widget.
* @property {string} [position] - Position CSS du widget sur la carte.
* @property {boolean} [gutter] - Ajoute ou retire l’espace autour du panneau.
* @property {string} [optimisation="none"] - Type d'optimisation pour l'affichage des listes de couches : "none", "clusterize" (experimental) ou "on-demand".
*/
/**
* @typedef {Object} Categories - Catégories principales du catalogue sous forme d'onglets
* @property {string} title - Titre de la catégorie.
* @property {string} id - Identifiant unique de la catégorie.
* @property {boolean} default - Indique si c'est la catégorie par défaut.
* @property {boolean} [cluster=false] - **Experimental** Clusterisation de la liste des couches.
* @property {Object|null} clusterOptions - Options de la librairie Clusterize.
* @property {boolean} [search=false] - Affiche une barre de recherche spécifique à la catégorie.
* @property {Array<SubCategories>} [items] - Liste des sous-catégories.
* @property {Object|null} filter - Filtre appliqué à la catégorie.
* @property {string} filter.field - Champ utilisé pour le filtre.
* @property {string|Array<string>} filter.value - Valeur ou liste de valeurs pour le filtre.
*/
/**
* @typedef {Object} SubCategories - Sous-catégories du catalogue sous forme de boutons radio
* avec ou sans sections. Une section, c'est un regroupement thématique des couches.
* ex. : regrouper les couches par "thématique" (voir propriété "thematic" dans la conf. des couches)
* @property {string} title - Titre de la sous-catégorie.
* @property {string} id - Identifiant unique de la sous-catégorie.
* @property {boolean} section - Indique si la sous-catégorie utilise des sections.
* @property {boolean} [collapsible] - **TODO** Indique si les sections sont repliables.
* @property {boolean} [icon] - Indique que l'on souhaite un icone de type dsfr classe pour les sections de la sous-catégorie.
* @property {Array<Object>} [iconJson] - Liste d'icones (json) pour les sections de la sous-catégorie.
* @property {Array<string>} sections - Liste des sections (remplie ultérieurement).
* @property {boolean} default - Indique si c'est la sous-catégorie par défaut.
* @property {boolean} [cluster=false] - **Experimental** Clusterisation de la liste des couches.
* @property {Object|null} clusterOptions - Options de la librairie Clusterize.
* @property {Object|null} filter - Filtre appliqué à la sous-catégorie.
* @property {string} filter.field - Champ utilisé pour le filtre.
* @property {string|Array<string>} filter.value - Valeur ou liste de valeurs pour le filtre.
*/
/**
* @typedef {Object} Config - Configuration des sources de données
* * {@link schema | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.json}
* * {@link jsdoc | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.jsdoc}
*/
/**
* @typedef {Object} ConfigLayer - Configuration d'une couche
* * {@link schema | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.json}
* * {@link jsdoc | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.jsdoc}
* @description
* Un objet de type ConfigLayer est un objet qui contient la configuration d'une couche.
* Il est issu de la configuration globale (Config) et enrichi de propriétés supplémentaires
* pour le bon fonctionnement du catalogue.
* ex. : service, categories, producer_urls, thematic_urls, etc.
* Les types de services supportés sont : WMTS, WMS, WFS, TMS.
*/
/**
* @classdesc
*
* Catalog Data
*
* @alias ol.control.Catalog
* @module Catalog
*/
declare class Catalog extends Control {
/**
* @constructor
* @param {CatalogOptions} options - options for function call.
*
* @fires catalog:loaded
* @fires catalog:layer:add
* @fires catalog:layer:remove
* * {@link schema | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.json}
* * {@link jsdoc | https://raw.githubusercontent.com/IGNF/geoportal-configuration/new-url/doc/schema.jsdoc}
* @example
* var widget = new ol.control.Catalog({
* collapsed : true,
* draggable : false,
* titlePrimary : "",
* titleSecondary : "Gérer vos couches de données",
* layerLabel : "title",
* layerThumbnail : true,
* search : {
* display : true,
* label : "Rechercher une donnée",
* criteria : [
* "name",
* "title",
* "description"
* ]
* },
* addToMap : true,
* categories : [
* {
* title : "Données",
* id : "data",
* default : true,
* search : false,
* filter : null
* // sous categories
* // items : [
* // {
* // title : "",
* // default : true,
* // section : true, // avec section (ex. regroupement par themes)
* // icon : true, // icone pour les sections (svg ou lien http ou dsfr classe)
* // filter : {
* // field : "",
* // value : ""
* // }
* // }
* // ]
* }
* ],
* configuration : {
* type : "json",
* urls : [ // data:{}
* "https://raw.githubusercontent.com/IGNF/cartes.gouv.fr-entree-carto/main/public/data/layers.json",
* "https://raw.githubusercontent.com/IGNF/cartes.gouv.fr-entree-carto/main/public/data/edito.json"
* ]
* }
* });
* widget.on("catalog:loaded", (e) => { console.log(e.data); });
* widget.on("catalog:layer:add", (e) => { console.log(e); });
* widget.on("catalog:layer:remove", (e) => { console.log(e); });
* map.addControl(widget);
*
* @todo validation du schema
*/
constructor(options: CatalogOptions);
/**
* Nom de la classe (heritage)
* @private
*/
private CLASSNAME;
container: HTMLElement;
configData: any;
/**
* Overwrite OpenLayers setMap method
* This method sets the map for the Catalog control.
* It initializes event listeners for the map and sets up the control's draggable and collapsed states.
* It also checks for existing layers on the map and updates the control accordingly.
*
* @param {Map} map - Map instance to set for the control.
*/
setMap(map: Map): void;
/**
* Returns true if widget is collapsed (minimized), false otherwise
*
* @returns {Boolean} collapsed - true if widget is collapsed
*/
getCollapsed(): boolean;
/**
* Collapse or display widget main container
*
* @param {Boolean} collapsed - True to collapse widget, False to display it
*/
setCollapsed(collapsed: boolean): void;
collapsed: boolean | undefined;
/**
* Add a layer config
* This method processes a configuration object containing layer definitions.
*
* @param {Config} conf conf
*/
addLayerConfig(conf: Config): void;
/**
* Activate a layer by its ID
* This method activates a layer based on its ID, which is expected to be in the format "name$service".
* It splits the ID to extract the layer name and service, then calls the `activeLayer` method.
*
* @param {*} id - Layer ID in the format "name$service".
* @example
* activeLayerByID("GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2$WMTS");
* activeLayerByID("PLAN.IGN$GEOPORTAIL:TMS");
*/
activeLayerByID(id: any): void;
/**
* Disable a layer by its ID
* This method disables a layer based on its ID, which is expected to be in the format "name$service".
* It splits the ID to extract the layer name and service, then calls the `disableLayer` method.
* @param {*} id - Layer ID in the format "name$service".
* @example
* disableLayerByID("GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2$WMTS");
* disableLayerByID("PLAN.IGN$GEOPORTAIL:TMS");
* @todo
* - ajouter un test pour vérifier si l'ID est valide
* - ajouter un test pour vérifier si la couche est déjà active
* - ajouter un test pour vérifier si la couche est déjà désactivée
*/
disableLayerByID(id: any): void;
/**
* Activate a layer
* This method activates a layer by its name and service.
* It checks if the layer exists in the `layersList` and if it does, it adds the layer to the map if `addToMap` is true.
* It then dispatches an event indicating that the layer has been added to the catalog.
* @param {String} name - Layer name.
* @param {String} service - Layer service.
* @example
* activeLayer("GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2", "WMTS");
* activeLayer("PLAN.IGN", "GEOPORTAIL:TMS");
*/
activeLayer(name: string, service: string): void;
/**
* Disable a layer
* This method disables a layer by its name and service.
* It checks if the layer exists in the `layersList` and if it does, it removes the layer from the map if `addToMap` is true.
* It then dispatches an event indicating that the layer has been removed from the catalog.
* @param {String} name - Layer name.
* @param {String} service - Layer service.
* @example
* disableLayer("GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2", "WMTS");
* disableLayer("PLAN.IGN", "GEOPORTAIL:TMS");
*/
disableLayer(name: string, service: string): void;
/**
* Get long layer ID
*
* @param {*} name - nom de la couche
* @param {*} service - service de la couche
* @return {String|null} - long layer ID or null if not found
* @description
* This method retrieves the long layer ID based on the provided name and service.
* It searches through the `layersList` object for a key that matches the pattern of "name.*service".
* If a match is found, it returns the key; otherwise, it returns null.
* @example
* getLayerId("GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2", "WMTS");
* getLayerId("PLAN.IGN", "GEOPORTAIL:TMS");
*/
getLayerId(name: any, service: any): string | null;
/**
* Get layers by category
* This method filters the layers based on the provided category.
* It checks if the category has a filter defined and applies it to the layers.
* If the filter matches, the layer is added to the `layersCategorised` object.
* It also updates the `categories` property of each layer to include the category ID.
*
* @param {*} category - Category object containing the filter.
* @param {*} layers - Object containing all layers.
* @return {Object} - Filtered layers categorized by the provided category.
*/
getLayersByCategory(category: any, layers: any): any;
/**
* Get container
*
* @returns {HTMLElement} container
*/
getContainer(): HTMLElement;
/**
* Initialize Catalog control (called by Catalog constructor)
*
* @param {Object} options - constructor options
* @private
*/
private initialize;
/** @private */
private uid;
clusterOptions: {
rows_in_block: number;
blocks_in_cluster: number;
} | undefined;
options: {
collapsed: boolean;
draggable: boolean;
auto: boolean;
titlePrimary: string;
titleSecondary: string;
layerLabel: string;
layerThumbnail: boolean;
tabHeightAuto: boolean;
optimisation: string;
size: string;
search: {
display: boolean;
label: string;
criteria: string[];
};
addToMap: boolean;
categories: {
title: string;
id: string;
cluster: boolean;
clusterOptions: {
rows_in_block: number;
blocks_in_cluster: number;
};
default: boolean;
filter: null;
}[];
configuration: {
type: string;
urls: string[];
};
} | undefined;
/**
* specify if control is draggable (true) or not (false)
* @type {Boolean}
*/
draggable: boolean | undefined;
/**
* specify if control add some stuff auto
* @type {Boolean}
*/
auto: boolean | undefined;
/**
* specify some events listeners
* @type {Array}
*/
eventsListeners: any[] | undefined;
/** @private */
private buttonCatalogShow;
/** @private */
private panelCatalogContainer;
/** @private */
private panelCatalogHeaderContainer;
/** @private */
private buttonCatalogClose;
/** @private */
private contentCatalogContainer;
/** @private */
private waitingContainer;
/**
* specify all list of layers (configuration service)
* @type {Array<Object>}
*/
layersList: any[] | undefined;
/**
* specify clusterize instances for each category/subcategory/section
* @type {Object}
* @example
* {
* "data" : Clusterize, // category id + instance
* "454587412" : Clusterize, // subcategory id + instance
* "457121205" : Clusterize, // subcategory id + instance
* }
*/
clusterizeRef: any;
/**
* specify clusterize sections for each category/subcategory
* @type {Object}
* @example
* {
* 548487533 : { // subcategory id
* "section-accordion-548487533-72432" : [rows], // section id + rows
* "section-accordion-548487533-78155" : [rows] // section id + rows
* }
* }
*/
clusterizeSections: any;
/**
* specify data on demand instances for each category/subcategory/section
* @type {Object}
* @example
* {
* base : fragmentDocument, // category id + fragmentDocument
* 457121205 : fragmentDocument, // subcategory id + fragmentDocument
* 548487533 : {
* "section-accordion-548487533-72432" : fragmentDocument, // section id + fragmentDocument
* "section-accordion-548487533-78155" : fragmentDocument // section id + fragmentDocument
* }
*/
dataOnDemand: any;
/**
* specify all categories
* @type {Array<Categories}
* @example
* [
* {
* title : "Données", // title of the category
* id : "data", // id of the category
* default : true, // if true, this category is selected by default
* search : false, // if true, a search bar is displayed for this category
* cluster : false, // if true, clustering is activated for this category
* filter : null, // filter to apply on the category
* items : [ // list of subcategories
* {
* title : "Toutes les données", // title of the subcategory
* id : "all", // id of the subcategory
* default : true, // if true, this subcategory is selected by default
* icon : true, // icon for the subcategory (svg or http link or dsfr class)
* iconJson : [], // list of icons (json) for the sections
* cluster : false, // if true, clustering is activated for this subcategory
* section : false, // if true, this subcategory has a section
* sections : [], // list of sections (filled later)
* filter : null, // filter to apply on the subcategory
* }
* ]
* }
* ]
*/
categories: Categories[] | undefined;
/**
* specify the current category selected
* @type {String}
*/
categoryId: string | undefined;
/**
* list of layers added on map by key pair : name/service
* @type {Object}
* @example
* {
* "GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2:WMTS" : ol/layer/Tile,
* "PLAN.IGN$GEOPORTAIL:TMS" : ol/layer/VectorTile
* }
*/
layersListOnMap: any;
/** @private */
private _searchTimeout;
/**
* event triggered when layer is added
*
* @event catalog:layer:add
* @defaultValue "catalog:layer:add"
* @group Events
* @property {Object} type - event
* @property {String} name - layer name
* @property {String} service - service name
* @property {Object} layer - layer conf
* @property {Object} target - instance Catalog
* @example
* Catalog.on("catalog:layer:add", function (e) {
* console.log(e.layer);
* })
*/
ADD_CATALOG_LAYER_EVENT: string | undefined;
/**
* event triggered when layer is removed
*
* @event catalog:layer:remove
* @defaultValue "catalog:layer:remove"
* @group Events
* @property {Object} type - event
* @property {String} name - layer name
* @property {String} service - service name
* @property {Object} layer - layer conf
* @property {Object} target - instance Catalog
* @example
* Catalog.on("catalog:layer:remove", function (e) {
* console.log(e.layer);
* })
*/
REMOVE_CATALOG_LAYER_EVENT: string | undefined;
/**
* event triggered when data is loaded
*
* @event catalog:loaded
* @defaultValue "catalog:loaded"
* @group Events
* @property {Object} type - event
* @property {Object} data - data
* @property {Object} target - instance Catalog
* @example
* Catalog.on("catalog:loaded", function (e) {
* console.log(e.data);
* })
*/
LOADED_CATALOG_EVENT: string | undefined;
/**
* Create control main container (DOM initialize)
*
* @returns {HTMLElement} DOM element
* @private
*/
private initContainer;
/**
* Check layers already present on the map
* This method checks the layers already present on the map
* and marks them as checked in the catalog.
* @private
*/
private checkLayersOnMap;
/**
* Initialize layers list and other properties
* This method initializes the layers list from the configuration data.
* It can load data from a local object or fetch it from URLs.
* It processes the layers to add additional properties such as `service`, `categories`, and URLs for producers and thematics.
* It also creates the catalog content entries based on the layers.
*
* @returns {Promise} - promise
* @private
*/
private initConfigData;
/**
* Check configuration layers
* This method checks the configuration of layers to ensure they have valid service parameters.
* It also adds additional properties to each layer, such as `service`, `categories`, and URLs for producers and thematics.
* It cleans the list of layers by removing those without valid configuration and adds a default thumbnail if enabled and not present.
*
* @param {Array<ConfigLayer>} layers - list of layers
* @private
*/
private checkConfigLayers;
/**
* Create DOM content categories and entries
* @param {Config} data - data
* @private
*/
private createCatalogContentEntries;
/**
* Create links information to the catalog for thematic
* @param {*} value - ...
* @private
* @returns {Array<Object>} fiche d'information
* @todo récuperer l'url du service du catalogue selon l'environnement !
* @example
* // pour les thématiques
* createCatalogThematicLinks(["Agriculture", "Transports", "Autres"]);
* // OUTPUT
* [
* {
* name : "Agriculture",
* url : "https://cartes.gouv.fr/catalogue/search?topic=farming"
* }
* ]
* @see [mapping - https://raw.githubusercontent.com/IGNF/cartes.gouv.fr-entree-carto/main/public/data/topics.json]
*/
private createCatalogThematicLinks;
/**
* Create links information to the catalog for producer
* @param {*} value - ...
* @private
* @returns {Array<Object>} fiche d'information
* @todo récuperer l'url du service du catalogue selon l'environnement !
* @example
* // pour les producteurs
* createCatalogProducerLinks(["IGN", "IGNF", "Autres"]);
*
* // OUTPUT
* [
* {
* name : "IGN",
* url : "https://cartes.gouv.fr/catalogue/search?organization=IGN"
* }
* ]
* @see [mapping - https://raw.githubusercontent.com/IGNF/cartes.gouv.fr-entree-carto/main/public/data/topics.json]
*/
private createCatalogProducerLinks;
/**
* Add events listeners on map (called by setMap)
*
* @param {Map} map - map
* @private
*/
private addEventsListeners;
/**
* Remove events listeners on map (called by setMap)
* @private
*/
private removeEventsListeners;
/**
* Add layer on map
*
* @param {*} name - layer name
* @param {*} service - layer service
* @returns {Object} - layer config
* @private
*/
private addLayer;
/**
* Remove Layer on map
*
* @param {*} name - layer name
* @param {*} service - layer service
* @returns {Object} - layer config
* @private
*/
private removeLayer;
hideWaiting(): void;
showWaiting(): void;
/**
* Reset filtered layers
* @private
*/
private resetFilteredLayersList;
/**
* Set filtered layers
*
* @param {*} value - value
* @private
*/
private setFilteredLayersList;
/**
* Update DOM layer visibility
*
* @param {*} name - ...
* @param {*} service - ...
* @param {*} hidden - ...
* @private
*/
private updateVisibilityFilteredLayers;
/**
* Update DOM sections visibility if no layers are visible
*
* @private
*/
private updateVisibilityFilteredSections;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onShowCatalogClick;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onCloseCatalogClick;
/**
* ...
* @param {Event} e - ...
* @param {String} categoryId - ...
* @private
*/
private onSelectCatalogTabClick;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onSelectCatalogEntryClick;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onToggleCatalogMoreLearnClick;
/**
* ...
* @param {Event} e - ...
* @param {String} categoryId - ...
* @param {String} sectionId - ...
* @private
*/
private onToggleCatalogSectionClick;
/**
* ...
* @param {Event} e - ...
* @param {String} categoryId - ...
* @private
*/
private onToggleCatalogRadioChange;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onSearchGlobalCatalogButtonClick;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onSearchGlobalCatalogInputChange;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onSearchGlobalCatalogButtonResetClick;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onSearchSpecificCatalogButtonClick;
/**
* ...
* @param {Event} e - ...
* @private
*/
private onSearchSpecificCatalogInputChange;
onSearchSpecificCatalogButtonResetClick(e: any): void;
}
import Control from "../Control";
import Map from "ol/Map";
//# sourceMappingURL=Catalog.d.ts.map