mviewer / mviewerstudio

mviewer generator
GNU General Public License v3.0
15 stars 25 forks source link

MEG - VSR prévisualisation application publiée #223

Closed lecault closed 1 year ago

lecault commented 1 year ago

Scénario :

  1. Je créé une application
  2. J'ajoute une couche
  3. je publie l'application
  4. je prévisualise

=> La couche n'est pas visible dans la légende comme ci-dessous : l'option Ne pas afficher la donnée dans la légende est coché sans aucune action de ma part

image

Gaetanbrl commented 1 year ago

Je reproduis. En mode avancé, l'option est cochée par défaut :

image

lecault commented 1 year ago

En mode avancé, l'option est cochée par défaut :

Ah j'ai pas ça dans mon cas. J'ajoute une couche à un projet en mode avancé, c'est décoché.

Gaetanbrl commented 1 year ago

J'ajoute une couche à un projet en mode avancé, c'est décoché.

par ajout tu veux dire import XML ou nouveau projet ?

Gaetanbrl commented 1 year ago

Dans tous les cas @lecault j'ai vu un truc qui n'allait pas, peux-tu re tester stp ?

lecault commented 1 year ago

J'ajoute une couche à un projet en mode avancé, c'est décoché.

par ajout tu veux dire import XML ou nouveau projet ?

Je commence un nouveau projet en mode avancé, j'ajoute une couche la case n'est pas cochée.

Gaetanbrl commented 1 year ago

Bon, le soucis vient du fait que showintoc est un boolean.

Si il est vrai, alors c'est affiché dans la TOC.

Le soucis c'est que ce n'est pas une valeur logique avec la checkbox qui indique "Masquer ?". Si c'est cocher (checkbox vraie) alors il faut détermier l'inverse et avoir une valeur showintoc="false" dans le XML.

A la création, la valeur par défaut est null (donc false), alors la valeur est false, et le showintoc est false également. Ca implique une logique de code avec des vérifications pour avoir la bonne valeur en sortie donc.

La checkbox devrait plutôt être "Afficher dans la toc", comme ca on est cohérent entre la valeur de la checkbox et la valeur dans le XML.

Gaetanbrl commented 1 year ago

Correctif poussé pour déterminer l'inverse d'une condition vraie contenant une valeur fausse ou vraie :

            let showintoc = !(layer?.showintoc || layer?.showintoc == undefined);
            $("#frm-layer-showintoc").prop("checked", showintoc);
spelhate commented 1 year ago

C'est bon pour moi.