.. Authors : .. mviewer team .. Gwendall PETIT (Lab-STICC - CNRS UMR 6285 / DECIDE Team) .. _configtopics: Configurer - Les thématiques ============================ La configuration des thématiques qui seront visibles dans l'interface se fait dans le fichier **config.xml**. Principe général ---------------------------------------- Ici, les `couches ` sont organisées de la manière suivante : * une **couche** (layer) est intégrée à un groupe ou à un thème, * un **groupe** est intégré à un thème et peut contenir entre 1 et *n* couches, * un **thème** est intégré au parent "themes" et peut contenir entre 0 et n groupes ainsi que 1 et *n* couches, * le parent "**themes**" peut contenir entre 1 et *n* thème, Ceci peut être résumé avec l'arborescence suivante : .. code-block:: xml :linenos: Structure par défaut ---------------------------------------- Par défaut, le contenu suivant est proposé : .. code-block:: xml :linenos: Ici, ce code .xml peut être résumé à l'arborescence suivante : .. code-block:: xml :linenos: Ce qui donne visuellement ceci : .. image:: ../_images/dev/config_layers/layer_tree.png :alt: Arborescence par défaut :align: center Configuration de la liste des thèmes ------------------------------------- **Syntaxe** ```` *************************** .. code-block:: xml :linenos: **Paramètres** * ``mini``: paramètre optionnel de type booléen (true/false) qui précise si le panneau de gauche est réduit à l'ouverture de l'application. L'attribut ``collapsed`` des ```` doit être à true pour que cet attribut soit pris en compte. Valeur par défaut **false**. * ``legendmini``: paramètre optionnel de type booléen (true/false) qui précise si le panneau de la légende est réduit à l'ouverture de l'application. Valeur par défaut **false**. **Syntaxe** ```` *************************** Elément enfant de .. code-block:: xml :linenos: **Paramètres** * ``name`` :guilabel:`studio` : paramètre obligatoire de type texte qui précise le nom de la thématique. * ``id`` :guilabel:`studio` : paramètre obligatoire de type texte qui affecte un identifiant unique interne à la thématique. * ``collapsed`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) qui précise si la thématique est fermée au démarrage de l'application. Pour que la thématique soit ouverte au démarrage, il faut choisir l'option **false**. Attention, il ne peut y avoir qu'une thématique ayant ce paramètre à false. Valeur par défaut **true**. * ``icon`` :guilabel:`studio` : paramètre optionnel de type texte qui précise l'icône à utiliser afin d'illustrer la thématique. Les valeurs possibles sont à choisir parmi cette liste sur le site Fontawesome : https://fontawesome.com/v5/search?m=free. Une autre possibilité est d'uliser une classe CSS personnelle mobilisant une image. Il faut alors mettre la classe précédée d'un point comme valeur. exemple ".mycustomicon". * ``url`` :guilabel:`studio` : paramètre optionnel de type url(URL vers fichier xml) qui permet de récupérer une thématique complète depuis un config.xml externe. * ``layersvisibility`` :guilabel:`studio` : paramètre optionnel (all/none/default) qui précise la visibilité des couches dans la thématique externe. Valeur par défaut **default**. Voici un exemple d'icône personnalisée : .. code-block:: css :linenos: .mycustomicon::before { content: ''; display: inline-block; height: 1em; width: 1em; background: url(../img/logo/worldwide.svg) no-repeat scroll; background-size: 16px 16px; margin-top: 9px; } * ``url`` :guilabel:`studio` : Des thèmes externes (présents dans d'autres configurations) peuvent être automatiquement chargés par référence au fichier xml utilisé (url=) et à l'id de la thématique (id=). Attention si la configuration externe est sur un autre domaine, il faut alors que mviewer utilise un proxy Ajax ou alors s'assurer que CORS est activé sur le serveur distant. Les thématiques externes peuvent utiliser des ressources particulières (templates, customLayer, sld...) si les URLs de ces ressources sont absolues et accessibles. **Syntaxe** ```` *************************** Elément enfant de ```` .. code-block:: xml :linenos: **Paramètres** * ``name``: paramètre obligatoire de type texte qui précise le nom du groupe. * ``id``: paramètre obligatoire de type texte qui précise l'identifiant unique du groupe.