# Utiliser des liens virtuels dans le modeler

**URL:** <https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950>\
**Category:** Support\
**Tags:** v4-0\
**Created:** [February 16, 2021, 9:19am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950 "2021-02-16T09:19:26Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 16, 2021, 9:19am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/1 "2021-02-16T09:19:26Z")

</div>

Bonjour,

Dans mon modèle de données, j’ai un objet Flux qui peut être associé à des Flux fils via un lien de Flux vers Flux. Les Flux fils sont associés à des Data.  
A l’aide d’un lien virtuel j’affiche dans le Flux père, les Data de ses Flux fils.

Je me demandais s’il était possible d’utiliser ce lien virtuel dans le modeler, c’est à dire sans insérer les fils, afficher leurs Data et les attacher au père. J’ai fait quelques tests et ça n’a pas l’air possible mais je demande au cas où !

Merci d’avance  
Emmanuelle

Version=4.0.P25  
BuiltOn=2021-01-25 18:55 (revision 8e9b757c68b3391e16a0570ac07b374ccc25a0e6)

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 16, 2021, 10:44am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/2 "2021-02-16T10:44:01Z")

</div>

Et question subsidiaire si ce n’est pas possible : comment fonctionne l’option Show Field ? Quels champs sont affichés si on choisit “summary” ?

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [February 16, 2021, 4:05pm UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/3 "2021-02-16T16:05:59Z")

</div>

Le but est-il d’afficher les “data” comme des objets avec des relations/fleches vers un “flux” ? ou comme des items d’objet (dans la boite “flux”) ?

Sinon oui, le modeleur sait passer au travers des liens virtuels. Il faut juste configurer les relations dans le bon sens.

- Le “show field” sert à afficher certains attributs de l’objet dans le Node. “Summary” doit afficher la clé fonctionnelle et les champs non étendus en formulaire (le nom du flux, ses extrémités…). On peut limiter les champs affichés en jouant sur le setMore(true|false) des champs de l’instance “model\_ajax\_xxx”.
- Puis les contenus 0,n (lien direct ou virtuel) peuvent aussi s’afficher en dessous des attributs de l’objet

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 17, 2021, 8:41am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/4 "2021-02-17T08:41:20Z")

</div>

C’est une excellente nouvelle que les liens virtuels soient gérés ! Je vais essayer de configurer ça.  
Mon besoin est d’afficher les data comme des items d’objet. Donc sur mon node Flux, je veux en items les Data de ses Flux fils.

J’ai testé le show Field mais rien ne s’affiche sur mon node, je ne dois pas le faire correctement :-/

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [February 17, 2021, 8:57am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/5 "2021-02-17T08:57:32Z")

</div>

Pas sûr que si on changes le “show fields” après coup, il soit pris en compte dans chaque Node des anciens modèles.

Sinon au niveau du menu contextuel d’un node, il faut activer le “show/hide fields” en plus du “show/hide contents”.

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 17, 2021, 9:44am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/6 "2021-02-17T09:44:16Z")

</div>

J’ai pu configurer le lien virtuel donc c’est très bien pour moi comme ça, merci beaucoup.  
Pour plus de lisibilité j’aurais aimé pouvoir changer la couleur de fond des items car j’en ai deux types différents et seul un trait les sépare. Mais j’ai l’impression que ce n’est pas possible ?  
Sinon est-il possible de les “titrer” c’est à dire afficher sur le modèle l’intitulé du champ name ?

![image](https://community.simplicite.io/uploads/default/original/2X/9/9b54a871f5695cc17a9b44b23d9f00cd804cbde1.png)

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [February 17, 2021, 10:09am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/7 "2021-02-17T10:09:23Z")

</div>

Pour changer l’affichage d’un item, il faut nécessairement passer par le hook `onDrawItem` du template.  
Celui-ci est appelé à chaque affichage d’item de node (titre, fields, contents).

```javascript
onDrawItem: function(node, data, display) {
   // default rendering
  var g = display();
  // field item ?
  if (data.item && data.item.field && ...) {
     $("rect",g).first().css("fill", "#AAAAFF"); // fill in blue
  }
},

```

Mettez un point d’arrêt pour voir le contenu de data, le display retourne par défaut un group SVG (inspectable dans le debugger aussi) qui contient un rectangle, un texte, une puce… Mais on peut tout à fait ne pas appeler le display par défaut pour afficher autre chose et binder d’autres événements sur le double-click, etc.

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 17, 2021, 1:19pm UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/8 "2021-02-17T13:19:52Z")

</div>

Ca marche nickel et le résultat est très joli, merci !

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 24, 2021, 9:22am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/9 "2021-02-24T09:22:55Z")

</div>

Bonjour, je reviens sur ce ticket car je ne trouve pas le paramètre permettant de réduire les marges des nodes dans le modeler. J’ai une grosse perte de place à cause de ces marges, j’aimerais les ramener au minimum.

 ![image](https://community.simplicite.io/uploads/default/original/2X/b/b8bb12523372ee1117de9ec58107944ca3e5f905.png)

J’ai l’impression que c’est proportionnel à la taille du texte mais je ne vois pas où c’est calculé.  
Dans le debugger je ne vois que la taille du rectangle en dur.  
Y a-t-il un moyen ?

Merci d’avance !  
Emmanuelle

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [February 24, 2021, 10:25am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/10 "2021-02-24T10:25:13Z")

</div>

C’est plutôt un nouveau sujet.

Le padding est effectivement “en dur” sur un titre, de mémoire il est de 15 si le titre est seul (sans field/content dans le node) alors qu’il est de 6 sinon. En SVG, Simplicité positionne tous les éléments par code, car il n’y a pas de notion de margin/padding css entre les éléments du DOM : pour centrer un `<text>` dans un `<rect>` avec un padding, il faut tout calculer positions x,y et tailles w,h, afin d’être supporté par tous les navigateurs (IE supporte un seul alignement de texte, et pas de center…).

Bref, on pourrait rendre paramétrable le padding par code au niveau du `onDrawNode` par exemple.

Dans votre cas il faudrait plutôt utiliser une shape sans texte, ou surcharger le onDrawNode/display pour afficher un simple cercle car si c’est un objet flux (N,N entre 2 objets) même le libellé n’apporte rien au diagramme.

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [February 24, 2021, 10:38am UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/11 "2021-02-24T10:38:44Z")

</div>

Merci pour ce retour, est-ce que j’ouvre un nouveau ticket ?  
J’ai besoin du nom du flux et parfois d’y attacher des items donc je crois que c’est ma seule solution.  
Mais sur mon modèle j’ai l’impression que plus le texte est long, plus la marge est grande.

 ![image](https://community.simplicite.io/uploads/default/original/2X/0/02bfc68ca68ee4532e449646660028734862c4bb.png)

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [February 24, 2021, 2:02pm UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/12 "2021-02-24T14:02:41Z")

</div>

Effectivement c’est étrange, pourtant les paddings sont bien en dur, il doit y avoir une erreur de calcul de la taille totale du node, on va vérifier.

(sinon après vérif c’est Edge qui ne supporte que les “text” en position “baseline” et à cause de qui on doit tout re-calculer pour centrer du texte par exemple).

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [February 24, 2021, 5:09pm UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/13 "2021-02-24T17:09:03Z")

</div>

Il y avait bien un soucis entre le style SVG `text-anchor:middle` du titre des noeuds vides et le calcul de la position du texte qui sert à celui du rectangle au dessus.

Ca a été corrigé et sera poussé sur toutes les versions 4 et 5 asap.

---

<div class="post-metadata">

**Author:** ![system](https://community.simplicite.io/user_avatar/community.simplicite.io/system/32/4700_2.png) [@system](https://community.simplicite.io/u/system)\
**Post date:** [March 30, 2021, 6:47pm UTC](https://community.simplicite.io/t/utiliser-des-liens-virtuels-dans-le-modeler/2950/14 "2021-03-30T18:47:01Z")

</div>

Closed on March 30, 2021, 6:47pm UTC


