UNPKG

geopf-extensions-openlayers

Version:

French Geoportal Extensions for OpenLayers libraries

180 lines 6.13 kB
export default CoordinateAdvancedSearch; /** * @classdesc * Contrôle de recherche avancée par coordonnées * (saisie pour différents systèmes de coordonnées et unités correspondantes). * * @alias ol.control.CoordinateAdvancedSearch * @module CoordinateAdvancedSearch */ declare class CoordinateAdvancedSearch extends AbstractAdvancedSearch { /** * Constructeur. * * @constructor * @param {CoordinateAdvancedSearchOptions} [options] Options du contrôle */ constructor(options?: CoordinateAdvancedSearchOptions); /** * @override * @protected * @param {CoordinateAdvancedSearchOptions} options Options d'initialisation */ protected override initialize(options: CoordinateAdvancedSearchOptions): void; _boundOnLonLatBeforeInput: any; _boundOnLonLatInput: any; _currentCoordinateSystem: any; _currentUnit: any; /** * @private * @param {CoordinateAdvancedSearchOptions} [options] Options d'initialisation possibles (options.coordinateSearch.systems) */ private _initCoordinateSearchSystems; _coordinateSearchSystems: any[] | undefined; /** * @private * @param {CoordinateAdvancedSearchOptions} [options] Options d'initialisation possibles (options.coordinateSearch.units) */ private _initCoordinateSearchUnits; _coordinateSearchUnits: any[] | { Geographical: { code: string; label: string; format: (olCoordinate: any) => any; }[]; Metric: { code: string; label: string; format: (olCoordinate: any) => any; }[]; } | undefined; /** * Définit un système de projection supplémentaire et charge sa définition CRS si nécessaire. * * @private * @param {CoordinateSearchSystem} system Description du système de projection * @returns {void} */ private _setSystem; /** * Crée un conteneur d'étiquette pour un élément d'input. * * @private * @param {String} text Texte de l'étiquette * @param {String} type Classe CSS du conteneur * @param {HTMLElement} [input] Élément input à rattacher * @param {Boolean} [mandatory=false] Indique si le champ est obligatoire * @returns {HTMLElement} Élément conteneur (div) */ private _getLabelContainer; /** * Crée un élément label. * * @private * @param {String} text Texte du label * @param {Boolean} [mandatory=false] Ajoute un astérisque si vrai * @returns {HTMLLabelElement} Élément label créé */ private _createLabel; /** * Met à jour le texte d'un label existant. * * @private * @param {String} text Nouveau texte * @param {HTMLElement} container Conteneur contenant le label à mettre à jour * @param {Boolean} [mandatory=false] Indique si le champ est obligatoire */ private _updateLabel; system: HTMLSelectElement | undefined; unit: HTMLSelectElement | undefined; lonLatInputs: HTMLDivElement | undefined; lon: HTMLElement | undefined; lat: HTMLElement | undefined; /** * Crée le wrapper (label + input + masques) pour une composante de coordonnées (lon/lat). * * @private * @param {"lon"|"lat"} type Type de composante ("lon" ou "lat") * @returns {HTMLElement} Wrapper contenant l'input et éléments associés */ private createCoordinateInput; /** * Crée la liste des points cardinaux (N/S ou O/E) pour un champ de coordonnées. * * @private * @param {String} baseName "lon" ou "lat" * @returns {HTMLSelectElement|undefined} Élément select des cardinaux ou undefined si non applicable */ private _createSelectCardinals; /** * @override * @protected * @param {CoordinateAdvancedSearchOptions} options Options d'initialisation */ protected override _initEvents(options: CoordinateAdvancedSearchOptions): void; /** * Met à jour le système de référence sélectionné et réinitialise les unités disponibles. * * @private * @param {Event} e Événement change provenant du select système */ private _updateSystem; /** * Met à jour l'unité sélectionnée et stocke la valeur dans le dataset du formulaire. * * @private * @param {Event} e Événement change provenant du select unité */ private _updateUnits; /** * Met à jour les labels des inputs en fonction du type d'unités (géographique vs métrique). * * @private */ private _updateInputsLabel; /** * Met à jour les inputs lorsque l'unité change (conversion ou activation du masquage pour DMS). * * @private */ private _updateInputs; /** * Validation avant saisie pour les formats DMS : n'autorise que les chiffres (évite les lettres). * * @private * @param {InputEvent} e Événement beforeinput */ private _onlonLatBeforeInput; /** * Formate une chaîne de 6 caractères en DMS (DD°MM'SS"). * * @private * @param {String} value Valeur brute (6 caractères numériques) * @returns {String} Chaîne formatée (ex. "12°34'56\"") */ private _format; /** * Met à jour l'affichage du masque pendant la saisie DMS. * * @private * @param {InputEvent} e Événement input */ private _onlonLatInput; /** * @override * @protected * @param {PointerEvent} e Événement de soumission */ protected override _onSearch(e: PointerEvent): void; /** * Construit le contenu HTML à afficher dans la popup à partir des coordonnées fournies. * * @private * @param {Number|String} lon Valeur X / longitude * @param {Number|String} lat Valeur Y / latitude * @returns {String} Contenu HTML (string) à injecter dans la popup */ private _createInfoPopup; } import AbstractAdvancedSearch from "./AbstractAdvancedSearch"; //# sourceMappingURL=CoordinateAdvancedSearch.d.ts.map