Diagramme dynamique sur filtrage d'objet métier

Bonjour,

J’ai ajouté une action sur la liste d’un objet qui ouvre un diagramme.
Je voudrais pouvoir filtrer la liste de mon objet puis ouvrir le diagramme via l’action et qu’il n’y est que les objets restant après le filtre qui s’affichent dans le diagramme.

Est-ce possible ?

Bonjour,

De quel diagramme parle-t-on ? model chart treeview… ?

Si c’est un diagramme Canvas ou SVG, il n’existe pas de filtre pour afficher masquer des objets statiques dans les modèles, il faudra coder pour agir sur le DOM SVG en dynamique.

Si c’est un diagramme ou une page spécifique, il y a un trigger envoyé par le dialogue de recherche à tous les composants ayant la classe js-searchable.
Vous pouvez le capter dans votre composant pour le reconstruire.

Trigger socle :
$(".js-searchable",ctn).trigger("ui.list.search", [filters, request, groupBy]);

Handler à ajouter à votre composant :

$('<div class="js-searchable"/>').on("ui.list.search", function(filters, request, groupBy) {
 // refresh the div with the new field filters / global request / new group by
});

Bonjour,

C’est pour agir sur un diagramme SVG.

On peut enregistrer un diagramme SVG avec ses objets affichés.
Je ne peux pas modifier dynamiquement les objets enregistrés du SVG pour afficher les objets souhaités lors de son ouverture?

Actuellement, j’ouvre le diagramme SVG via une action créée sur mon objet.
Je pourrai modifier les objets enregistrés de ce diagramme puis appelé la page de mon SVG via :
https://x.simplicite.io/ui/modeler?object=Model&action=svg&row_id=[ID du SVG]
Serait-ce possible ?

Le modeleur n’est pas prévu à cet effet, il est là pour modéliser, pas pour consulter/filtrer/diffuser.
Il n’y a pas de méthode show/hide sur les node/link, uniquement des add/remove.

Toutefois le SVG reste du DOM :
on peut surement agir par code front et jouer sur les CSS des éléments affichés (display: none ou opacity:0 … sachant qu’il faudra aussi masquer les liens entre objets).

Bref ce besoin est trop général pour convenir à votre cas particulier d’usage.

Pour un usage en lecture / recherche, vous pouvez écrire un script -

  • qui va chercher le modèle SVG sans passer par le modeleur qui le rend éditable
  • le charge dans un div de votre formulaire sur form.onload
  • implémente des show/hide en fonction de critères de recherche en utilisant le trigger “ui.list.search”