UNPKG

geopf-extensions-openlayers

Version:

French Geoportal Extensions for OpenLayers libraries

910 lines 32.1 kB
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