.. Authors : .. mviewer team .. _customcontrol: Développer un customControl ########################### Les **Customs Controls** permettent de créer des interactions entre l'utilisateur et un layer. Si on souhaite créer une nouvelle fonctionnalité en lien avec une couche particulière, c'est la solution à privilégier. Le mécanisme de customControl permet le développement à façon de solution nouvelle sans modifier le coeur de mviewer. .. admonition:: Convention Un custom control consiste en deux fichiers - **JavaScript** et **HTML**. Ces deux fichiers doivent impérativement respecter la règle de nommage suivante : - **layerid**.html - **layerid**.js - *où layerid correspond à l'id du layer tel que définit dans le config.xml.* L'emplacement de ces fichiers doit être précisé dans le config.xml avec le paramètre ``customcontrolpath=""`` .. sidebar:: Exemple : Le custom control - encadré rouge - s'affiche par défaut dans la légende en dessous des attributions : .. image:: ../_images/develop/customcontrol_ihm.png :alt: heatmap :align: center Ecrire le code - html ************************** Le bloc écrit en HTML s'affichera dans le panneau légende associé à la couche. Il est possible de créer des éléments HTML qui permettront à l'utilisateur d'interagir avec la couche associée. Dans l'exemple suivant, on affiche deux sliders qui vont nous permettre de modifier dynamiquement l'affichage de notre couche. .. code-block:: HTML :caption: customcontrol.html :emphasize-lines: 7-8
*Tooltip* Si vous souhaitez utiliser une infobulle (tooltip), vous pouvez utiliser les paramètres `title` et `tooltip` : .. code-block:: HTML :caption: customcontrol.html :emphasize-lines: 7-8