<?xml version="1.0" encoding="UTF-8"?> <!-- Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit this template --> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:p="http://primefaces.org/ui" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core"> <body> <f:view> <header style="display: flex; justify-content: center; font-size: 30px;"><strong>Estados</strong></header> <p:divider/> <main style="display: flex; justify-content: space-between; gap: 10px;"> <h:form id="formEstados"> <p:growl id="growl" showDetail="true" for="mensajePaises"/> <p:dataTable id="tableEstados" value="#{demoBeanEstados.estados}" var="item" style="width: 600px" paginator="true" rows="5" rowSelectMode="add" paginatorPosition="bottom" > <p:column style="text-align: center;"> <f:facet name="header"> <h:outputText value="Nombre"/> </f:facet> <h:outputText value="#{item.nombre}"/> </p:column> <p:column style="text-align: center;"> <f:facet name="header"> <h:outputText value="Estatus"/> </f:facet> <h:outputText value="#{item.estado == 2 ? 'Activo':'Inactivo'}"/> </p:column> <p:column> <f:facet name="header"> <h:outputText value="Pais"/> </f:facet> <h:outputText value="#{item.paisesId.nombre}"/> </p:column> <p:column style="text-align: center;"> <f:facet name="header"> <center> <h:outputText value="Opciones"/> </center> </f:facet> <p:commandButton action="#{demoBeanEstados.eliminarEstados(item)}" ajax="true" icon="pi pi-trash" styleClass="ui-button-warning" style="margin-top: 5px; width: 50px;" update="formPais" /> </p:column> </p:dataTable> </h:form> <h:form style="margin-left: 20px; margin-top: 20px;"> <header style="display: flex; justify-content: center;">Nuevo Estado</header> <p:divider/> <h:panelGrid columns="2"> <p:outputLabel value="Nombre:" for="nombre" /> <p:inputText id="nombre" value="#{demoBeanEstados.estado.nombre}" title="Nombre" required="true" validatorMessage="Verifique el nombre" requiredMessage="Este campo no puede estar vacio"> <f:validateRegex pattern="\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}(?:\s+[A-Za-zÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,})*\b" for="nombre" /> </p:inputText> <p:outputLabel></p:outputLabel> <p:message id="alertNombre" for="nombre"/> <p:outputLabel value="Pais:" for="paisesId" /> <p:selectOneMenu id="paisesId" value="#{demoBeanEstados.estado.paisesId}" converter="selectOneMenuConverter" required="true" requiredMessage="Se necesita un pais" filter="true" filterMatchMode="startsWith" > <!-- Arriba esta lo del filtro, jsjsjsjs --> <!-- TODO: update below reference to list of available items--> <f:selectItems value="#{demoBeanPaises.paises}" var="item" itemLabel="#{item.nombre}" itemValue="#{item}"/> </p:selectOneMenu> <p:outputLabel></p:outputLabel> <p:message id="alertPais" for="paisesId"/> </h:panelGrid> <footer style="display: flex; margin-top: 280px; justify-content: flex-end;"> <p:commandButton action="#{demoBeanEstados.agregarEstados()}" ajax="true" styleClass="ui-button-success" style="width: 50px;" icon="pi pi-save" update="formEstados:tableEstados, nombre, paisesId, alertNombre, alertPais, formEstados:growl" /> <p:commandButton oncomplete="PF('estado').close()" immediate="true" ajax="false" style="margin-left: 5px; width: 50px; " icon="pi pi-times" styleClass="ui-button-danger"/> </footer> </h:form> </main> </f:view> </body> </html>