<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">

    <!--
        Composant bouton "Supprimer" avec confirmation réutilisable - DRY/WOU
        
        Usage avec ui:decorate pour passer l'action via ui:define :
        <ui:decorate template="/templates/components/buttons/action-button-delete.xhtml">
            <ui:param name="update" value=":formList:dtItems :formList:messages"/>
            <ui:param name="confirmMessage" value="Êtes-vous sûr de vouloir supprimer ?"/>
            <ui:param name="styleClass" value=""/>
            <ui:define name="action">
                #{bean.deleteItem(item)}
            </ui:define>
        </ui:decorate>
    -->

    <p:commandButton icon="pi pi-trash"
                   title="Supprimer"
                   actionListener="#{action}"
                   update="#{update}"
                   styleClass="ui-button-rounded ui-button-danger #{not empty styleClass ? styleClass : ''}">
        <p:confirm header="Confirmation"
                 message="#{empty confirmMessage ? 'Êtes-vous sûr de vouloir supprimer cet élément ?' : confirmMessage}"
                 icon="pi pi-exclamation-triangle"/>
    </p:commandButton>
</ui:composition>

