Insérer une vue en arbre dans un formulaire

Bonjour,

J’essaye actuellement d’insérer une vue arborescente dans un formulaire.

J’ai reussi à créer un arbre dans le menu interface/Arborescences.

J’ai vu qu’il y avait un boutton sur la définition de l’objet permettant de choisir entre : Arborescence utilisateur et Arborescence module.

Cependant je ne sais pas quel est la méthode pour faire apparaitre l’arbre sur le formulaire.

Pouvez vous m’éclairer ?

Si y a de la doc dispo sur la vue arborescente (guide de mise en place) je suis preneur.

Merci d’avance,

Benoît

Les arbres dans la définition de l’objet sont des arbres qui n’ont rien à voir avec le votre. Ce sont des arbres pour parcourir le module.

Pour accéder à votre arbre depuis votre objet métier, il faut paramétrer depuis son noeud dans l’arbre comment vous voulez le faire :

Le bouton d’accès peut se positionner :

  • Depuis le menu plus
  • Depuis un item de liste
  • Depuis le formulaire de l’objet

Et cela indique aussi s’il l’ouvre dans le menu principal ou dans une colonne splittée à gauche.

Merci pour la réponse François.

J’arrive maintenant à ouvrir l’arbre.

Le problème est qu’il est ouvert sur la partie gauche de mon formulaire, le client souhaite qu’il soit intégré directement dans une zone du formulaire.

Peut on faire ca ?

Bizarre comme besoin, un arbre est une navigation ou un menu et n’a pas sa place dans un formulaire qui se recharge constamment = lourd en terme de nombre de requêtes SQL.

Dans ce cas il faut ajouter une zone à votre template <div class="my-tree"></div> et la remplir par code front dans le hook form.onload.

$ui.displayTreeView($(".my-tree", ctn), obj, rowId, "MyTreeviewName", { depth:3 });

où obj et rowId est votre objet racine, depth la profondeur à rechercher/afficher.

https://docs.simplicite.io/5/jsdoc/Simplicite.UI.Engine.html#displayTreeView

UPDATE:

Je passe votre besoin en feature request, car cela pourrait se faire automatiquement via un nouveau type d’item de View. Une vue pouvant s’insérez dans un template d’objet.

A réserver aux arbres peu dense/profond car c’est très couteux de devoir le recharger à chaque affichage de formulaire fréquent.

Voilà la fonctionnalité a été ajoutée en 5.2.

  • Une vue habilitée à un objet peut intégrer un arbre de cet objet
  • Il suffit ensuite d’insérer la vue dans le template de l’objet

Exemple avec l’arbre des commandes et des contacts d’un client de la démo :

En attendant cette version, vous devrez ajouter le hook client comme décrit plus haut.

Super nouvelle François.

J’ai reussi en attendant la 5.2 à faire mes arbos sans problèmes.

Le client à fait une nouvelle demande, mais je ne sais pas si le natif simplicite permet de repondre à la demande.

Je m’explique : il souhaiterais avec un affichage en arborescence, mais souhaiterait que cette arbre affiche certains champs d’un formulaire, à conditions que ces champs ne soit pas vide.

En gros, le but serais d’avoir une arborescence faisant un résumé des fields remplis dans un formulaire (gros formulaire) pour permettre au gestionnaire d’avoir une vue d’ensemble de ce qui est / qui reste à remplir.

Y a t’il un moyen de faire cela ?

Merci d’avance,

Benoit

Non ça n’existe pas en natif.

Il faudra coder un composant pour le faire sous forme d’objet externe par exemple.
Ce ne doit pas être très compliqué de renvoyer une synthèse des champs renseignés sous forme html + css indenté par block.