Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • nghyd nghyd
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Service Desk
    • Milestones
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous recommandons d'y créer tous vos nouveaux projets.

  • cassiopeecassiopee
  • nghydnghyd
  • Issues
  • #544
Closed
Open
Issue created May 17, 2022 by Dorchies David@david.dorchiesOwner

PréBarrages: les changements de couleur du schéma ne sont pas instantanées

Lorsqu'on a un élément de pré-barrage incomplet ou invalide (voir #501 (closed)), l'élément correspondant dans le schéma ne change pas de couleur instantanément.

C'est un bug connu lors de la mise en place de la fonctionnalité #484 (closed) de coloration des éléments du pré-barrage. Cette fonctionnalité redessine le schéma à chaque changement d'affichage de nub via la sélection d'un nub sur le schéma.

Mettre à jour le schéma instantanément nécessite de redessiner le schéma à chaque cycle de vérification de la saisie par Angular. Cela paraît rédhibitoire car cela ralentirait énormément l'application et pourrait aussi entraîner une perte de focus du champ en cours de saisie (cf. #469 (closed)).

Il y a une possibilité pour gérer plus proprement le changement de couleur sans redessiner le schéma à chaque fois:

  • le schéma est un SVG intégré dans la page, il fait donc parti du DOM et la mise en forme est gérée par des CSS.
  • les boites affichées correspondent à ce genre de code:
<g class="node wall node-error" style="opacity: 1; cursor: pointer;" id="c3Zpb2" transform="translate(256.15415954589844,116.5)">
  <rect rx="0" ry="0" x="-44.85832977294922" y="-19.5" width="89.71665954589844" height="39" class="label-container">
  </rect>
  <g class="label" transform="translate(0,0)">
    <g transform="translate(-34.85832977294922,-9.5)">
      <foreignObject width="69.71665954589844" height="19">
        <div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
          Amont-B2
        </div>
      </foreignObject>
    </g>
  </g>
</g>

- La balise qui englobe tout a un identifiant qui correspond à l'identifiant du nub enfant en question et son apparence est gérée par la propriété "class". Dans l'exemple ci-dessus, on a la classe "node-error" qui détermine la mise en couleur rouge du nub.

En modifiant le DOM, juste en cherchant la balise "g" ayant l'identifiant "`id_du_nub`" (ici "c3Zpb2") et en enlevant ou ajoutant "node-error" à la propriété "class", on mettrait à jour le schéma juste en y modifiant ce qu'il faut.
Edited May 19, 2022 by Grand Francois
Assignee
Assign to
Time tracking