<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:p="http://primefaces.org/ui"
                xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:f="http://xmlns.jcp.org/jsf/core"
                xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">



   
    <p:dialog id="experimentUserAddDialog" 
              header="Add experiment users" widgetVar="experimentUserAddDialogWidget" dynamic="true" styleClass="dialog" width="1000">
        
            <div class="actionButton">
                <p:commandButton id="ResetFilters" actionListener="#{experimentController.noExperimentUsersTypeTable.resetFilterList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight" oncomplete="PF('experimentUserAddDialogWidget').show()" update="experimentUserAddDialog" >
                    <p:tooltip for="ResetFilters" value="Reset list filters."/>
                </p:commandButton>
            </div>
        
        <div>
         <p:dataTable id="addExperimentUserList"                              
                 var="experimentUser" 
                 value="#{experimentController.noExperimentUsersTypeTable.listDataModel}" 
                 filteredValue="#{experimentController.noExperimentUsersTypeTable.filteredObjectList}"
                 paginator="true" 
                 paginatorAlwaysVisible="false" 
                 rows="10"
                 binding="#{experimentController.noExperimentUsersTypeTable.listDataTable}"
                 selection="#{experimentController.noExperimentUsersTypeTable.selectedObjectList}"
                 rowKey="#{experimentUser.username}"
                 widgetVar="experimentUserAddTableWidgetVar" 
                 emptyMessage="No users to add."
                 rowSelectMode="true"
                 selectionMode="multiple" >

             <p:column sortBy="#{experimentUser.badge}" headerText="Badge" 
                       filterBy="#{experimentUser.badge}" filterMatchMode="contains" >
                 <h:outputText value="#{experimentUser.badge}"/>
             </p:column>   

            <p:column sortBy="#{experimentUser.username}" headerText="Username" 
                      filterBy="#{experimentUser.username}" filterMatchMode="contains" >
                <h:outputText value="#{experimentUser.username}"/>
            </p:column>

            <p:column sortBy="#{experimentUser.lastName}" headerText="Last Name" 
                      filterBy="#{experimentUser.lastName}" filterMatchMode="contains" >
                <h:outputText value="#{experimentUser.lastName}"/>
            </p:column>                  

            <p:column sortBy="#{experimentUser.firstName}" headerText="First Name" 
                      filterBy="#{experimentUser.firstName}" filterMatchMode="contains" >
                <h:outputText value="#{experimentUser.firstName}"/>
            </p:column> 

            <p:column sortBy="#{experimentUser.email}" headerText="Email" 
                      filterBy="#{experimentUser.email}" filterMatchMode="contains" >
                <h:outputText value="#{experimentUser.email}"/>
            </p:column>

            <p:column sortBy="#{experimentUser.globusUsername}" headerText="Globus Username" 
                      filterBy="#{experimentUser.globusUsername}" filterMatchMode="contains" >
                <h:outputText value="#{experimentUser.globusUsername}"/>
            </p:column>

            <f:facet name="footer">
                <p:commandButton value="Add" action="#{experimentController.addExperimentUser()}" oncomplete="PF('experimentUserAddDialogWidget').hide()" update="@form"/>
                <p:commandButton value="Clear Selection" onclick="PF('experimentUserAddTableWidgetVar').unselectAllRows()" />
            </f:facet>
        </p:dataTable>
        </div>
    </p:dialog>  
</ui:composition>