est il possible de faire une recherche multi critères en liste sur un objet lié ?
Un exemple :
mon objet Etablissement est lié à un objet ministère de tutelle.
les utilisateurs veulent afficher les établissements dépendant du ministère de l’agriculture ET du ministère de la mer.
sachant que les listes sur lesquelles les recherches sont faires sont affichées dans une vue.
Et que le panel de recherche en dialogue ne s’affiche pas. seule la recherche en liste est possible.
Après réflexion et pression des utilisateurs, l’accès à la recherche en dialogue à partir d’une vue doit résoudre mon problème :
si je mets à disposition des recherches déjà prêtes, ils n’auront pas à écrire les requêtes.
@Alistair Est ce que cette évolution est possible rapidement ?
On peut effectivement la faire pour la prochaine version si ce n’est pas trop impactant.
accéder au bouton toggle recherche “en liste / en popup”
la recherche multi références nommées : là c’est surement plus compliqué car ca revient à sélectionner/cocher des références, donc faire des recherches dans un recherche
En attendant, pour ouvrir le dialogue de recherche et faire comme @Alistair le suggère, on peut aussi ajouter une action avec le code front suivant :
C’est ce que fait le bouton (avec qq paramètres en plus dans le cas général).
Ensuite normalement la liste captera l’événement de recherches avec les nouveaux filtres.
Tu peux valoriser une searchSpec dans la méthode appelée par une action. Attention a réinitialiser cette searchSpec dans un initList s’il n’y a pas de parent, ou toute autre condition.
Tout comme vouloir changer tous les filtres avec l’accès au dialogue de recherche, une liste de vue est déjà un accès filtré, lui remettre toutes les fonctions de l’objet principal revient à y accéder directement = autant mettre un bouton qui redirige vers l’objet Main.
Une liste en item de vue est déjà une recherche prédéfinie sur un objet métier : avec ses filtres, tris, préférence de colonnes affichées, group by, etc.
Du coup, il peut y avoir conflit de mélanger 2 recherches, c’est pourquoi on ne peut pas changer de recherche prédéfinie dans un panel de recherche prédéfinie ou ouvrir le dialogue complet, ça annulera la recherche d’avant (ce n’est pas un merge de filtres) = on peut juste sur-filtrer les colonnes,
Donc à moins que la liste en panel soit filtrée par search-spec SQL en dur, je ne vois pas l’intérêt de proposer cette fonctionnalité, autant aller sur l’objet principal et utiliser tous les filtrages possibles.
Le plus simple pour sur-filtrer est d’ajouter des actions qui font juste des “setFilter” en back sur l’objet en plus de la recherche prédéfinie du panel. En 5.4, il sera possible de grouper ses actions.
Sinon par code on peut toujours ajouter un select sur le list.onload en testant le nom de l’instance.
Du style :