84 lines
4.4 KiB
HTML
84 lines
4.4 KiB
HTML
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:h="http://xmlns.jcp.org/jsf/html"
|
|
xmlns:f="http://xmlns.jcp.org/jsf/core"
|
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
|
|
xmlns:p="http://primefaces.org/ui"
|
|
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
|
|
|
|
<!--
|
|
Composant réutilisable: Barre de Recherche Utilisateur (WOU/DRY Pattern)
|
|
|
|
Auteur: Lions User Manager
|
|
Version: 1.0.0
|
|
Description: Barre de recherche avancée pour utilisateurs
|
|
|
|
Paramètres:
|
|
- searchCriteria: UserSearchCriteriaDTO (requis) - Critères de recherche
|
|
- searchAction: String (requis) - Action à exécuter lors de la recherche
|
|
- update: String (défaut: "@form") - Composants à mettre à jour
|
|
- showAdvanced: Boolean (défaut: false) - Afficher les options avancées
|
|
- showRealmFilter: Boolean (défaut: true) - Afficher le filtre realm
|
|
- showStatusFilter: Boolean (défaut: true) - Afficher le filtre statut
|
|
- showRoleFilter: Boolean (défaut: true) - Afficher le filtre rôle
|
|
- formId: String (défaut: "searchForm") - ID du formulaire
|
|
- useParentForm: Boolean (défaut: false) - Si true, n'crée pas de formulaire (utilise le formulaire parent)
|
|
|
|
Exemples d'utilisation:
|
|
|
|
1. Recherche simple:
|
|
<ui:include src="/templates/components/user-management/user-search-bar.xhtml">
|
|
<ui:param name="searchCriteria" value="#{userBean.searchCriteria}" />
|
|
<ui:param name="searchAction" value="#{userBean.search}" />
|
|
<ui:param name="update" value="userTable" />
|
|
</ui:include>
|
|
|
|
2. Recherche avec formulaire parent:
|
|
<h:form id="formUsers">
|
|
<ui:include src="/templates/components/user-management/user-search-bar.xhtml">
|
|
<ui:param name="searchCriteria" value="#{userBean.searchCriteria}" />
|
|
<ui:param name="searchAction" value="#{userBean.search}" />
|
|
<ui:param name="update" value="userTable" />
|
|
<ui:param name="useParentForm" value="true" />
|
|
</ui:include>
|
|
</h:form>
|
|
-->
|
|
|
|
<c:set var="formId" value="#{empty formId ? 'searchForm' : formId}" />
|
|
<c:set var="update" value="#{empty update ? '@form' : update}" />
|
|
<c:set var="showAdvanced" value="#{empty showAdvanced ? false : showAdvanced}" />
|
|
<c:set var="showRealmFilter" value="#{empty showRealmFilter ? true : showRealmFilter}" />
|
|
<c:set var="showStatusFilter" value="#{empty showStatusFilter ? true : showStatusFilter}" />
|
|
<c:set var="showRoleFilter" value="#{empty showRoleFilter ? true : showRoleFilter}" />
|
|
<c:set var="useParentForm" value="#{empty useParentForm ? false : useParentForm}" />
|
|
|
|
<c:choose>
|
|
<c:when test="#{useParentForm}">
|
|
<!-- Utiliser le formulaire parent - pas de formulaire ici -->
|
|
<ui:include src="/templates/components/user-management/user-search-bar-content.xhtml">
|
|
<ui:param name="searchCriteria" value="#{searchCriteria}" />
|
|
<ui:param name="searchAction" value="#{searchAction}" />
|
|
<ui:param name="update" value="#{update}" />
|
|
<ui:param name="showAdvanced" value="#{showAdvanced}" />
|
|
<ui:param name="showRealmFilter" value="#{showRealmFilter}" />
|
|
<ui:param name="showStatusFilter" value="#{showStatusFilter}" />
|
|
<ui:param name="showRoleFilter" value="#{showRoleFilter}" />
|
|
</ui:include>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<!-- Créer son propre formulaire -->
|
|
<h:form id="#{formId}">
|
|
<ui:include src="/templates/components/user-management/user-search-bar-content.xhtml">
|
|
<ui:param name="searchCriteria" value="#{searchCriteria}" />
|
|
<ui:param name="searchAction" value="#{searchAction}" />
|
|
<ui:param name="update" value="#{update}" />
|
|
<ui:param name="showAdvanced" value="#{showAdvanced}" />
|
|
<ui:param name="showRealmFilter" value="#{showRealmFilter}" />
|
|
<ui:param name="showStatusFilter" value="#{showStatusFilter}" />
|
|
<ui:param name="showRoleFilter" value="#{showRoleFilter}" />
|
|
</ui:include>
|
|
</h:form>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
|
|
</ui:composition>
|