Mejora en visualización de especialistas por especialidad (Vista

páginada de datos).
This commit is contained in:
Marcos Garcia Nuñez
2019-12-27 13:38:28 +01:00
parent 553cc1550e
commit ac3d81fe07
4 changed files with 97 additions and 85 deletions

View File

@@ -1,51 +1,62 @@
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
<ui:composition template="../header.xhtml">
<ui:define name="content">
<h:form id="TestForm">
<p:messages id="mesgs" showDetail="true" closable="true"
autoupdate="true" />
<p:panel id="frmSSbD"
header="Búsqueda de médicos especialista por especialidad">
<p:messages id="mesgs" showDetail="true" closable="true" autoupdate="true" />
<p:panel id="frmSSbD" header="Búsqueda de médicos especialista por especialidad">
<div class="ui-g ui-fluid">
<div class="ui-g-4 ui-md-4">
<div class="ui-g-2 ui-md-2">
<p:outputLabel for="selMS" value="Especialidad:" />
</div>
<div class="ui-g-4 ui-md-4">
<p:autoComplete id="selMS" dropdown="true" required="true"
value="#{sspec.medicalSpeciality}"
completeMethod="#{sspec.completeMedicalSpeciality}" var="ms"
itemLabel="#{ms.displayName}" itemValue="#{ms}"
forceSelection="true"
requiredMessage="Por favor, selecciona una especialidad médica"
<div class="ui-g-6 ui-md-6">
<p:autoComplete id="selMS" dropdown="true" required="true" value="#{sspec.medicalSpeciality}" completeMethod="#{sspec.completeMedicalSpeciality}" var="ms"
itemLabel="#{ms.displayName}" itemValue="#{ms}" forceSelection="true" requiredMessage="Por favor, selecciona una especialidad médica"
placeholder="Seleccione una especialidad médica o teclee para buscar...">
<o:converter converterId="omnifaces.ListConverter"
list="#{RegisterUser.medicalSpecialtiesList}" />
<p:ajax event="itemSelect" listener="#{sspec.onSelect}"
update="frmSSbD" />
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.medicalSpecialtiesList}" />
<p:ajax event="itemSelect" listener="#{sspec.onSelect}" update="frmSSbD" />
<p:column headerText="Nombre">
<h:outputText value="#{ms.name}" />
</p:column>
<p:column headerText="Localización">
<p:column headerText="Descripción">
<h:outputText value="#{ms.description}" />
</p:column>
</p:autoComplete>
</div>
<div class="ui-g-4 ui-md-4"></div>
<div class="ui-g-4 ui-md-4"/>
<div class="ui-g-4 ui-md-4"></div>
<div class="ui-g-8 ui-md-8">
<p:dataList value="#{sspec.listDoctors}" var="dd" type="ordered" emptyMessage="Ningún especialista para la especialidad seleccionada">
#{dd.name} #{dd.surname} &lt;#{dd.email}&gt;
</p:dataList>
<div class="ui-g-12">
<p:dataTable id="dtDoctorList" var="d" value="#{sspec.lazyDataModelDoctorList}" lazy="true" paginator="true" rows="10" paginatorPosition="bottom"
paginatorAlwaysVisible="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,30,40" emptyMessage="No existe ningún especialista para la especialidad seleccionada.">
<p:column headerText="Núm Profesional" width="90">
<h:outputText value="#{d.professionalNumber}" />
</p:column>
<p:column headerText="Nombre" width="60">
<h:outputText value="#{d.name}">
<f:convertDateTime type="time" pattern="HH:mm" />
</h:outputText>
</p:column>
<p:column headerText="Apellidos" width="auto">
<h:outputText value="#{d.surname}" />
</p:column>
<p:column headerText="Correo electrónico" width="auto">
<h:outputText value="#{d.email}" />
</p:column>
<f:facet name="paginatorBottomLeft">
<p:commandButton update="dtDoctorList" action="#{sspec.showData}" icon="pi pi-refresh" />
</f:facet>
</p:dataTable>
</div>
</div>
</p:panel>