Favoris

Ce type de widget permet d’afficher les favoris de l’utilisateur en fonction d’une recherche configurée.

Les utilisateurs ont la possibilité de cliquer sur les résultats affichés pour accéder au composant.

Dans l’exemple ci-dessous, nous commençons par définir la requête qui va alimenter le widget :

<bean id="favoriteRequest" class="com.flower.docs.domain.search.SearchRequest">
	<property name="selectClause">
		<bean class="com.flower.docs.domain.search.SelectClause">
			<property name="fields">
				<list>
					<value>name</value>
				</list>
			</property>
		</bean>
	</property>
	<property name="max" value="10" />
</bean>

Ensuite, nous construisons le widget favoriteDocumentsWidget qui va permettre d’afficher la recherche. Dans cet exemple, nous définissons :

  • le type de composant recherché, la catégorie : ici DOCUMENT, les catégories disponibles sont DOCUMENT, TASK, FOLDER, VIRTUAL_FOLDER.
  • les titre et description internationalisés du widget
  • la requête définie précédemment favoriteRequest

    <bean id="favoriteDocumentsWidget" class="com.flower.docs.gui.client.preferences.favorite.HomeFavoritesPresenter">
    	<property name="search">
    		<bean class="com.flower.docs.domain.search.Search">
    			<property name="id">
    			    <bean class="com.flower.docs.domain.common.Id">
    			        <property name="value" value="documentSearch" />
    			    </bean>
    			</property>				
    			<property name="category">
    				<value type="com.flower.docs.domain.component.Category">DOCUMENT</value>
    			</property>
    			<property name="request" ref="favoriteRequest" />
    			<property name="displayNames">
    				<list>
    					<bean class="com.flower.docs.domain.i18n.I18NLabel">
    						<property name="language" value="EN"/>
    						<property name="value" value="My favorites"/>
    					</bean>
    					<bean class="com.flower.docs.domain.i18n.I18NLabel">
    						<property name="language" value="FR"/>
    						<property name="value" value="Mes favoris"/>
    					</bean>
    				</list>
    			</property>
    		</bean>
    	</property>
    </bean>

Et pour finir, nous associons le widget favoriteDocumentWidget à un catalogue nommé homeWidgets

<bean id="homeWidgets" class="com.flower.docs.gui.client.util.SimpleWidgetCatalog">
	<property name="widgets">
		<list>
			<ref bean="favoriteDocumentsWidget" />
		</list>
	</property>
</bean>