Integradas sugerencias de la vista recibidas de Marcos, se ha tenido que

integrar con el uso de las firmas de EJB de MagicDrw, además de eliminar
el uso de propiedades sueltas en pro del objeto seleccionado, y también
se ha hecho algún cambio extra para que la botonera de la interfaz quede
más integrada.
This commit is contained in:
Roberto Orden Erena
2019-12-26 21:10:40 +01:00
parent 85f6cf9644
commit 6fd9e7ca6c
2 changed files with 116 additions and 144 deletions

View File

@@ -1,57 +1,85 @@
<?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="frmQuestions">
<p:growl id="msgs" showDetail="true" closable="true"
autoupdate="true" />
<p:growl id="mesgs" showDetail="true" closable="true" autoupdate="true" />
<p:panel id="panelQuestions" header="Preguntas">
<div class="ui-g ui-fluid">
<div class="ui-g-3 ui-md-3">
<p:commandButton rendered="#{Questions.showCreate}" action="#{Questions.create}" value="Nuevo" update="panelDetail"></p:commandButton>
<p:orderList value="#{Questions.pendingQuestions}" var="pq"
controlsLocation="none" itemValue="#{pq}">
<o:converter converterId="omnifaces.ListConverter"
list="#{Questions.pendingQuestions}" />
<p:ajax event="select" listener="#{Questions.onSelect}"
update="panelDetail"></p:ajax >
<p:ajax event="unselect" listener="#{Questions.onUnSelect}"
update="panelDetail"></p:ajax>
<p:column>
<h:graphicImage name="images/#{pq.status}.png"
alt="#{pq.status}" styleClass="ui-theme" />
</p:column>
<p:column>
<h:outputText value="#{pq.title}" />
</p:column>
</p:orderList>
<div class="ui-g-4">
<p:panel id="panelQuestionList" header="Lista de preguntas">
<f:facet name="actions">
<h:commandLink action="#{Questions.init}" update="frmQuestions" styleClass="ui-panel-titlebar-icon ui-corner-all ui-state-default"><h:outputText styleClass="ui-icon pi pi-refresh" /></h:commandLink>
<h:commandLink rendered="#{Questions.patient}" action="#{Questions.create}" update="frmQuestions" styleClass="ui-panel-titlebar-icon ui-corner-all ui-state-default"><h:outputText styleClass="ui-icon pi pi-plus" /></h:commandLink>
</f:facet>
<p:orderList value="#{Questions.pendingQuestions}" var="pq" controlsLocation="none" itemValue="#{pq}" responsive="true">
<o:converter converterId="omnifaces.ListConverter" list="#{Questions.pendingQuestions}" />
<p:ajax event="select" listener="#{Questions.onSelect}" update="frmQuestions"></p:ajax>
<p:ajax event="unselect" listener="#{Questions.onUnSelect}" update="frmQuestions"></p:ajax>
<p:column>
<h:graphicImage name="images/#{pq.status}.png" alt="#{pq.status}" styleClass="ui-theme" />
</p:column>
<p:column headerText="Título">
<h:outputText value="#{pq.title}" />
</p:column>
</p:orderList>
</p:panel>
</div>
<div class="ui-g-1 ui-md-1"></div>
<div class="ui-g-8 ui-md-8">
<p:panel id="panelDetail" visible="#{Questions.showPanelDetail}" header="Pregunta de #{Questions.selected.patient.name} #{Questions.selected.patient.surname} ">
<!-- Creación de pregunta -->
<p:inputText rendered="#{Questions.selected.status == 'NEW'}" value="#{Questions.selected.title}"></p:inputText>
<p:textEditor rendered="#{Questions.selected.status == 'NEW'}" value="#{Questions.selected.message}" ></p:textEditor>
<!-- Respuesta a una pregunta -->
<h:outputText rendered="#{Questions.selected.status != 'NEW'}">#{Questions.selected.title}</h:outputText>
<h:outputText rendered="#{Questions.selected.status != 'NEW'}" value="#{Questions.selected.message}" escape="false"></h:outputText>
<p:panel rendered="#{Questions.selected.status != 'NEW'}" style="border: 0px !important;">
<h3>Respuesta:</h3>
<p:textEditor rendered="#{Questions.selected.status == 'PENDING'}" value="#{Questions.selected.response}"></p:textEditor>
<h:outputText rendered="#{Questions.selected.status == 'ANSWERED'}" value="#{Questions.selected.response}" escape="false"></h:outputText>
</p:panel>
<br/>
<p:commandButton rendered="#{Questions.askButton}" value="Preguntar" action="#{Questions.askQuestion}" update="frmQuestions" icon="pi pi-save" ></p:commandButton>
<p:commandButton rendered="#{Questions.answerButton}" value="Responder" action="#{Questions.answerQuestion}" update="frmQuestions" icon="pi pi-save" ></p:commandButton>
</p:panel>
<div class="ui-g-8">
<p:panel id="panelAddQuestion" rendered="#{Questions.addNewMode}" header="Añadir nueva pregunta">
<div class="ui-g ui-fluid">
<div class="ui-g-12">
<h3>Título:</h3>
</div>
<div class="ui-g-12">
<p:inputText value="#{Questions.selected.title}" required="true" requiredMessage="Es necesario especificar el título de la pregunta" />
</div>
<div class="ui-g-12">
<h3>Pregunta:</h3>
</div>
<div class="ui-g-12">
<p:textEditor value="#{Questions.selected.message}" required="true" requiredMessage="Es necesario especificar el texto de la pregunta" />
</div>
<div class="ui-g-4" />
<div class="ui-g-4">
<p:commandButton value="Preguntar" action="#{Questions.addNewQuestion}" update="frmQuestions" icon="pi pi-save" />
</div>
<div class="ui-g-4" />
</div>
</p:panel>
<p:panel id="panelDetail" rendered="#{Questions.showPanelDetail}" header="Pregunta de #{Questions.selected.patient.displayName}">
<!-- Responder pregunta -->
<div class="ui-g ui-fluid">
<div class="ui-g-12">
<h3>Título:</h3>
</div>
<div class="ui-g-12">
<p:inputText value="#{Questions.selected.title}" readonly="true" />
</div>
<div class="ui-g-12">
<h3>Pregunta:</h3>
</div>
<div class="ui-g-12">
<p:textEditor value="#{Questions.selected.message}" toolbarVisible="false" readonly="true" />
</div>
<div class="ui-g-12">
<h3>Respuesta:</h3>
</div>
<div class="ui-g-12">
<p:textEditor value="#{Questions.selected.response}" toolbarVisible="#{Questions.respuestaEditable}" readonly="#{not Questions.respuestaEditable}" required="true" requiredMessage="Es necesario especificar una respuesta." />
</div>
<div class="ui-g-4" />
<div class="ui-g-4">
<p:commandButton value="Responder" rendered="#{Questions.respuestaEditable}" action="#{Questions.save}" update="frmQuestions" icon="pi pi-save" />
</div>
<div class="ui-g-4" />
</div>
</p:panel>
</div>
</div>
</p:panel>