jdev-org / donneesplages

Configuration Mviewer pour le projet "Données Plages" du GIP LITORRAL & GIP ATEGERI
GNU General Public License v3.0
0 stars 0 forks source link

deux addons identiques dans un dossier apps #33

Open eprouteau opened 4 years ago

eprouteau commented 4 years ago

Bonjour,

Dans un même dossier apps j'ai deux fichiers de config XML pour deux applis similaires. Afin d'avoir un filtre différent pour chacune d'elle, j'ai dupliqué et renommé l'addons filter en filterprojet et modifié son appel dans le fichiers de conf en conséquence.

Malgré ca l'addon filter ne s'affiche pas.

L'appli qui fonctionne : https://www.pigma.org/public/visualiseur/mviewer/?config=apps/donneesplages/donneesplages.xml L'appli avec l'addons dupliqué : https://www.pigma.org/public/visualiseur/mviewer/?config=apps/donneesplages/projetsplages.xml

Y a-t-il une subtilité pour réaliser cette configuration ?

Cordialement,

Gaetanbrl commented 4 years ago

@eprouteau as-tu un github pour voir ta structure ?

eprouteau commented 3 years ago

Bonjour,

Je reprends du temps pour deployer le filtre. Du coup voici l'adresse de l'appli qui ne fonctionne pas : https://www.pigma.org/public/visualiseur/mviewer/?config=apps/donneesplages/projetsplages.xml

Nous n'avons pas le projet sur GITHUB

Bonne journée,

Gaetanbrl commented 3 years ago

@eprouteau nous avons récemment utilisé pour d'autres plugin une façon d'avoir plusieurs configurations possibles dans un même fichier de configuration d'un plugin.

Pour que cela puisse fonctionner il faut :

Je vais proposer une modification sur une branche spécifique du projet donneesplage. De ton côté tu n'auras qu'à ajouter dans la balise un attribut ID du type :

Cet identifiant sera réutilisé dans la config du plugin comme je te le présenterai une fois la branche disponible.

eprouteau commented 3 years ago

@Gaetanbrl Merci pour ton retour. Du coup je pensais qu'en dupliquant le dossier du plugin 'filter' en renommant se dossier 'filterprojet' cela fonctionnerait car le fichier config.xml pointe du coup sur un autre dossier plugin.

Gaetanbrl commented 3 years ago

je pensais qu'en dupliquant le dossier du plugin 'filter' en renommant se dossier 'filterprojet' cela fonctionnerait

Moi aussi mais j'ai un doute maintenant si le Mviewer ne se base pas sur le nom du plugin présenté dans le config.xml de l'appli pour initialiser le plugin. Il faudrait que je vérifie...

Car dans la console on voit qu'il a réussi à charger "filterprojet".

Mais pour moi, la manière la plus optimale (et moins gourmande car pas de duplication) est celle que je t'ai exposé avant.

Gaetanbrl commented 3 years ago

@eprouteau peux-tu faire un test avec l'addon qui est sur la branche issue-33 si possible ?

Voici les modifications apportées :

Pour cela, il faut un ID dans l'appli Mviewer et ajouter cet ID dans le config.json. Comme déjà fait dans la branche issue-33 :

1 - Ajout de l'ID dans la config de ton appli Mviewer comme ici avec :

<application id="donneesplage"

2 - Ajout de l'ID dans la config du plugin ici

Voici un détail des options générales pour une instance de l'addon (= pour un Mviewer):

Options Descriptif  
tooltipPosition Position des infobulles
title Titre en haut du plugin (tête)  
legendTitle Texte pour sélectionner les couches (visible si > 1 couche)  
border Couleur du cadre de la boîte du plugin  
background Couleur du fond du plugin  
text Couleur des labels et titre dans la boîte du plugin  
colorButton Couleur du bouton de la toolbar  
open true si doit ouvert au démarrage du Mviewer  
zoomOnFeatures true pour zoomer sur l'extent automatiquement selon les filtres  
selectedBtnColor Couleur du bouton sélectionné pour le type "button"  
unSelectedBtnColor Couleur du bouton non sélectionné pour le type "button"  
textSelectBtnColor Couleur du texte si le filtre est de type "button"  
top Affichage par défaut en pixel depuis le bord haut de l'écran (ex: "50px")  
right Affichage par défaut en pixel depuis le bord droit de l'écran (ex: "50px")  
bottom Affichage par défaut en pixel depuis le bord en bas de l'écran (ex: "50px")  
left Affichage par défaut en pixel depuis le bord gauche de l'écran (ex: "50px")  

Options propres à une layer ( = une couche) :

Option Descriptif  
layerId Identifiant de la couche dans la config du Mviewer.  
filter Ensemble des filtres appliqués sur une couche  

Options propres à un filtre ( = un attribut) :

Option Descriptif  
attribut Attribut à filtrer. Si c'est un filtre de type date, il faut renseigner un tableau pour donner la date de début et de fin. Car le filtre permet de filtrer des données entre 2 dates : Ex: "attribut": ["date_ouverture", "date_fermeture"],  
type Type de filtre Valeurs : textbox, date, Combobox, button
label Texte affiche au dessus du filtre  
updateOnChange True pour mettre à jour les données selon la valeur sélectionner  
selected True pour que cette couche s'affiche au démarrage (uniquement si elle est visible)   Si plusieurs selected="true" sont affectés, alors la première sera affichée.  
eprouteau commented 3 years ago

Je viens de tester, le comportement pour deux application est OK, par contre à l'ouverture le filtre apparait en bas à gauche de la carte. En le déplaçant et en faisant un filtre il redescend.

https://www.pigma.org/public/visualiseur/mviewer/?config=apps/donneesplages/projetsplages.xml#

Gaetanbrl commented 3 years ago

Ah oui en effet, je regarde ca ;)

Gaetanbrl commented 3 years ago

Tu peux retenter je viens de pousser un correctif.

Gaetanbrl commented 3 years ago

par contre à l'ouverture le filtre apparait en bas à gauche de la carte

Tu peux modifier la position au démarrage en ajoutant dans la config les options css de positionnement (left, right, top, bottom).

Je viens de les rajouter dans le tableau plus haut.

eprouteau commented 3 years ago

Je teste ca.

Dans le tableau tu peux rajouter également l'option : dataSeparator

        {
          "attribut": "stationnement",
          "type": "button",
          "label": "Stationnement",
          "updateOnChange": true,
          **"dataSeparator":","**
        },