Recherche avancée

La configuration des formulaires de recherches passe par des fichiers XML. Utilisez l’éditeur interne pour la rédaction du fichier.


L’éditeur est accessible via le menu Administration > Configuration > XML :

  • Cliquez sur le + pour créer un nouveau fichier XML,
  • Dans le premier champ, saisissez Recherche de dossiers clients pour nommer le fichier XML,
  • Saisissez le code XML décrit dans la suite du tutoriel,
  • Cliquez sur le bouton Sauvegarder.

Identifiant

La première chose à faire est de donner un identifiant unique dossierClientSearch à la recherche. Cet identifiant permettra d’appeler facilement cette recherche.


Cet identifiant permettra également de faire l’association entre le formulaire de recherche et l’équipe qui y aura accès.


	<bean id="dossierClientSearch" class="com.flower.docs.gui.client.search.ComponentSearchPresenter" scope="prototype">	  
	</bean>


Note : Ces deux balises correspondent aux balises de début et de fin de la définition d’une recherche. Ainsi, tout ce qui sera décrit dans la suite de cet exemple est à insérer entre ces deux balises.


Titre, description et catégorie

L’identifiant permet l’appel à la recherche d’un point de vue technique, mais il n’est pas visible pour les utilisateurs.

Dans ce cas, le nom, la description, et la catégorie permettront de faciliter l’utilisation de la recherche avancée :

  • Renseignez la propriété title avec sa valeur Dossiers Clients,
  • Décrivez la propriété description avec sa valeur Rechercher un dossier client par sa référence, son nom ou son prénom.


<property name="title" value="Dossiers Clients" />
<property name="description" value="Rechercher un dossier client par sa référence, son nom ou son prénom."/>


Catégorisez la recherche à l’aide de la propriété categorieSelectorPresenter :

  • Permettez une seule catégorie avec la classe FakeCategorySelectorPresenter,
  • Utilisez le type VIRTUAL_FOLDER pour les dossiers clients.


	<property name="categorySelectorPresenter">
		<bean class="com.flower.docs.gui.client.search.criteria.item.FakeCategorySelectorPresenter">
				<property name="value">
				<value type="com.flower.docs.domain.component.Category">VIRTUAL_FOLDER</value>
				</property>
		</bean>
	</property>


La recherche par mots-clés keywordCriteriaPresenter ne sera pas utilisée. Désactivez cette recherche à l’aide de la propriété enabled et sa valeur false :


<property name="keywordCriteriaPresenter">
	<bean class="com.flower.docs.gui.client.search.criteria.KeywordCriteriaPresenter">
		<property name="enabled" value="false" />
	</bean>
</property>


Toutes les propriétés qui seront décrites dans la suite de cette page doivent être placées dans le bean AdvancedCriteriaPresenter. Définissez la recherche avancée avec la propriété AdvancedCriteriaPresenter :


<property name="advancedCriteriaPresenter">
    <bean class="com.flower.docs.gui.client.search.criteria.advanced.AdvancedCriteriaPresenter" />
</property>


Désactivez le sélecteur de catégorie displayClassSelector à l’aide de sa valeur false qui permet uniquement la recherche sur les dossiers clients de la manière suivante :


<property name="displayClassSelector" value="false" />


Afin de forcer l’ouverture de la recherche avancée, ajoutez la propriété forceOpen avec sa valeur true :


<property name="forceOpen" value="true" />


Valorisez la propriété addEmptyCriterion avec true pour que l’utilisateur puisse ajouter des critères :


<property name="addEmptyCriterion" value="true" />


Définissez le bouton showSearchButton permettant de lancer la recherche :


<property name="showSearchButton" value="true" />