Définissez une requête de recherche cachée sur un formulaire pour appliquer des critères, colonnes, tris ou agrégations invisibles pour les utilisateurs.
L’objet ComponentSearchPresenter accepte une propriété hiddenRequest avec un bean de classe com.flower.docs.domain.search.SearchRequest. Cette requête permet de :
- ajouter des critères masqués
- configurer les colonnes à afficher
- définir le tri par défaut
- définir le nombre de résultats à remonter
- configurer des agrégations pour l’affichage en arborescence
Tri
L’ordre de tri par défaut des résultats se configure à l’aide de la propriété orderClauses sur l’objet SearchRequest. Chaque OrderClause définit un nom de champ et une direction de tri.
<property name="orderClauses">
<list>
<bean class="com.flower.docs.domain.search.OrderClause">
<property name="name" value="creationDate" />
<property name="ascending" value="false" />
</bean>
</list>
</property>Plusieurs clauses de tri peuvent être combinées. Elles sont appliquées dans l’ordre de déclaration.
Agrégation
Une agrégation regroupe les résultats de recherche par valeurs de champ, en les affichant sous forme d’arborescence. Lorsqu’un bucket est sélectionné, la recherche est filtrée pour correspondre aux critères de ce bucket.
Les agrégations se configurent à l’aide de la propriété aggregation sur l’objet SearchRequest avec un bean FieldAggregation. Les agrégations imbriquées permettent un regroupement multi-niveaux.
<property name="aggregation">
<bean class="com.flower.docs.domain.search.FieldAggregation">
<property name="nested">
<list>
<bean class="com.flower.docs.domain.search.FieldAggregation">
<property name="field" value="TypeCourrier" />
</bean>
<bean class="com.flower.docs.domain.search.FieldAggregation">
<property name="field" value="CanalEntree" />
</bean>
</list>
</property>
</bean>
</property>Colonnes masquées
Pour remonter les valeurs d’un tag via la selectClause sans que la colonne soit visible, utilisez la propriété hiddenColumns sur le ComponentSearchPresenter. Voir Résultats de recherche pour plus de détails.
- Il est préconisé d’utiliser la notion de requête cachée afin de simplifier l’accès à des composants et non pour sécuriser l’accès à ceux-ci.
- Ajouter le critère
ADD_FILTERS_TO_SELECTavec la valeurtruedans les contextes de la requête permet d’afficher les critères renseignés en tant que colonnes.